色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

cURL的使用方法

xCb1_yikoulinux ? 來源:一口Linux ? 作者:一口Linux ? 2022-08-05 11:54 ? 次閱讀

認識 cURL

A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl offers a myriad of powerful features

curl 是常用的開源命令行工具,用來請求 Web 服務器。它的名字就是客戶端(client)的 URL 工具的意思。它的功能非常強大,命令行參數多達幾十種。它支持包括 FTP、HTTP、HTTPS、FTP、SCP,SFTP 數十種協議。如能熟練使用,可以在很多應用場景下,發揮巨大的價值。

cURL 的使用

代替 Postman ?

curlhttps://www.baidu.com

如上命令,不帶有任何參數時,curl 就是發出 GET 請求,服務器返回的內容會在命令行輸出。當然,你還可以為其添加各種參數(如 -A、-b、-c、-d、-e、-F、-H 等等),使得可以完成更多復雜任務;

其實,如果只是簡單的 Post、Get 請求,用 cURL 做像接口測試的工作是非常方便的。

有人說了,Postman 它不香嗎?

是的,挺香的,但是當你在環境受限的情況下,比如 在 linux 服務器上想測試一下接口通不通沒有 Postman 怎么辦?

這時候 cURL 就體現出它的價值了。此外貼心的 Postman,還為我們提供了各種語言和 cURL 的 snippet,方便你在 Postman 編輯完成后直接拿走開發和調試使用。

db97bf1c-1471-11ed-ba43-dac502259ad0.jpg

如上圖,你直接 copy 內容,然后在命令行執行就可以了。

dbbf1eae-1471-11ed-ba43-dac502259ad0.jpg

小工具了解一下

jsonplaceholder http://jsonplaceholder.typicode.com/

免費的 HTTP 請求假數據接口,前端同學可以了解一下

  • 不需引入外部 js 文件。
  • 同時支持 http 和 https 請求。
  • 同時支持 post 請求和 get 請求。

看看 cookie?

curl-bcookies.txthttps://www.youku.com

上面命令將服務器的 HTTP 回應所設置 Cookie 寫入文本文件 cookies.txt。

上傳個文件?

網站中上傳文件功能很普遍,然而你是怎么調試的呢?

打開頁面,選擇文件后再點擊上傳按鈕?然后 F12 看看 Request、Response? 或者打開 Postman 進行類似步驟?

可真夠麻煩的。用 cURL 一行命令搞定

這里先介紹一下 -v 參數:

使用 -v 參數使 curl 打印有關請求和響應的詳細信息。以 > 為前綴的行是發送給服務器的數據,以 < 為前綴的行是從服務器接收的數據,以 * 開頭的行是雜項信息,如連接信息、SSL 握手信息、協議信息等。

我們看個例子,搞下百度:

?curl-vhttps://www.baidu.com
*Trying110.242.68.3:443...
*Connectedtowww.baidu.com(110.242.68.3)port443(#0)
*ALPN:offersh2
*ALPN:offershttp/1.1
*TLSv1.3(OUT),TLShandshake,Clienthello(1):
*TLSv1.3(IN),TLShandshake,Serverhello(2):
*TLSv1.2(IN),TLShandshake,Certificate(11):
*TLSv1.2(IN),TLShandshake,Serverkeyexchange(12):
*TLSv1.2(IN),TLShandshake,Serverfinished(14):
*TLSv1.2(OUT),TLShandshake,Clientkeyexchange(16):
*TLSv1.2(OUT),TLSchangecipher,Changecipherspec(1):
*TLSv1.2(OUT),TLShandshake,Finished(20):
*TLSv1.2(IN),TLShandshake,Finished(20):
*SSLconnectionusingTLSv1.2/ECDHE-RSA-AES128-GCM-SHA256
*ALPN:serveracceptedhttp/1.1
*Servercertificate:
*subject:C=CN;ST=beijing;L=beijing;OU=serviceoperationdepartment;O=BeijingBaiduNetcomScienceTechnologyCo.,Ltd;CN=baidu.com
*startdate:Jul505022022GMT
*expiredate:Aug605012023GMT
*subjectAltName:host"www.baidu.com"matchedcert's"*.baidu.com"
*issuer:C=BE;O=GlobalSignnv-sa;CN=GlobalSignRSAOVSSLCA2018
*SSLcertificateverifyok.
>GET/HTTP/1.1
>Host:www.baidu.com
>User-Agent:curl/7.83.1
>Accept:*/*
>
*Markbundleasnotsupportingmultiuse

百度一下,你就知道
新聞hao123地圖視頻貼吧更多產品
關于百度AboutBaidu

©2017Baidu使用百度前必讀意見反饋京ICP證030173號

*Connection#0tohostwww.baidu.comleftintact

可以看到,包括握手過程、請求、響應信息一應俱全。

加 -v 參數的作用就是就是為了跟蹤(trace)一下請求,看看具體細節,這跟你 F12 的目的是一樣的。此外,如果你想看到具體的請求、響應時間點可以加入 --trace-time 參數,最后的命令如下:

curl-v--trace-timehttps://www.baidu.com

效果是這樣的:

?curl-v--trace-timehttps://www.baidu.com
1850.680025*Trying110.242.68.4:443...
1850.692744*Connectedtowww.baidu.com(110.242.68.4)port443(#0)
1850.693142*ALPN:offersh2
1850.693165*ALPN:offershttp/1.1
1850.706507*TLSv1.3(OUT),TLShandshake,Clienthello(1):
1850.723346*TLSv1.3(IN),TLShandshake,Serverhello(2):
1850.723509*TLSv1.2(IN),TLShandshake,Certificate(11):
1850.724242*TLSv1.2(IN),TLShandshake,Serverkeyexchange(12):
1850.724370*TLSv1.2(IN),TLShandshake,Serverfinished(14):
1850.724572*TLSv1.2(OUT),TLShandshake,Clientkeyexchange(16):
1850.724628*TLSv1.2(OUT),TLSchangecipher,Changecipherspec(1):
1850.724727*TLSv1.2(OUT),TLShandshake,Finished(20):
1850.740045*TLSv1.2(IN),TLShandshake,Finished(20):
1850.740086*SSLconnectionusingTLSv1.2/ECDHE-RSA-AES128-GCM-SHA256
1850.740105*ALPN:serveracceptedhttp/1.1
1850.740129*Servercertificate:
1850.740160*subject:C=CN;ST=beijing;L=beijing;OU=serviceoperationdepartment;O=BeijingBaiduNetcomScienceTechnologyCo.,Ltd;CN=baidu.com
1850.740182*startdate:Jul505022022GMT
1850.740200*expiredate:Aug605012023GMT
1850.740256*subjectAltName:host"www.baidu.com"matchedcert's"*.baidu.com"
1850.740298*issuer:C=BE;O=GlobalSignnv-sa;CN=GlobalSignRSAOVSSLCA2018
1850.740317*SSLcertificateverifyok.
1850.740391>GET/HTTP/1.1
1850.740391>Host:www.baidu.com
1850.740391>User-Agent:curl/7.83.1
1850.740391>Accept:*/*
1850.740391>
1850.753580*Markbundleasnotsupportingmultiuse
1850.753605

接下來就是上傳的部分了,-F 參數用來向服務器上傳二進制文件。

?curl-v--trace-time'https://postman-echo.com/post'-F'fileName=@"/Users/xiaobox/Desktop/cookies.txt"'

解釋一下這行命令:

-F 參數可以指定 MIME 類型,也可以改文件名。

curl-v--trace-time'https://postman-echo.com/post'-F'fileName=@/Users/xiaobox/Desktop/cookies.txt;type=text/plain;filename=me.txt'

最后總結,如果你想用一條 cURL 命令測試上傳接口,可以利用類似下面的參數組合:

curl-v--trace-time'https://postman-echo.com/post'-F'fileName=@/Users/xiaobox/Desktop/cookies.txt;type=text/plain;filename=me.txt'

弱網測試

顧名思義,就是模擬你的客戶端用戶在網絡較差的環境下,比如 網速很低的時候,網絡請求的情況。

我們還是拿百度舉例子,你可以用以下一組命令在 1k 和 200B 的不同速度下對比看看響應情況:

curl-v--trace-time--limit-rate1khttp://www.baidu.com

curl-v--trace-time--limit-rate200Bhttp://www.baidu.com

注意 limit-rate 是同時限制 request 和 response,也就是 請求、響應都限制成一樣的速率了。

自動重定向

?curlhttps://www.bilibili.com
Redirectingto"http://www.bilibili.com/?rt=V%2FymTlOu4ow%2Fy4xxNWPUZ91QLE3Z%2BfhZ8P5SQVD30Nw%3D">//www.bilibili.com/?rt=V%2FymTlOu4ow%2Fy4xxNWPUZ91QLE3Z%2BfhZ8P5SQVD30Nw%3D.%

你看到了 B 站給我們重定向了,我們可以利用 -L 參數讓 cURL 自動重定向。

curl-Lhttsp://www.bilibili.com

注意 是大寫的 L

科學上網后 cURL 不通?

假設你已經配置了科學上網,我們直接 cURL google 看一下

?curl-vhttps://www.google.com
*Trying74.86.151.167:443...
*connectto74.86.151.167port443failed:Operationtimedout
*Failedtoconnecttowww.google.comport443after75400ms:Operationtimedout
*Closingconnection0
curl:(28)Failedtoconnecttowww.google.comport443after75400ms:Operationtimedout

一般情況下是失敗的

再假設你用的 VPN 客戶端是 clashX 因為我用的是這個,就用這個舉例。

dbd1e494-1471-11ed-ba43-dac502259ad0.jpg

點擊 “復制終端代理命令”,然后在你的終端執行一下:

?exporthttps_proxy=http://127.0.0.1:7890http_proxy=http://127.0.0.1:7890all_proxy=socks5://127.0.0.1:7890

再用 cURL, 你會發現就可以成功了。如果你用的不是 clashX 其他的 VPN 客戶端應該也有類似功能

保存響應內容 ?

可以利用 -o 參數將響應的結果保存到文件中:

curl-ogoogle.txthttps://www.google.com

下載文件并顯示進度?

cURL 可以當 wget 用

-o 參數將服務器的回應保存成文件,等同于 wget 命令

下載文件的同時顯示進度可以使用類似下面的命令:

?curl-#-opic.jpghttps://w.wallhaven.cc/full/pk/wallhaven-pk6993.png

參數太多,不想拼?

cURL 是好用,但如果我是個 web 應用,需要拼接一堆參數,那太麻煩了,簡直勸退。

是的,所以 瀏覽器也想到了,你可以在瀏覽器先正常發出請求,然后利用瀏覽器的工具將 cURL 的命令復制出來。

dbfb7142-1471-11ed-ba43-dac502259ad0.jpg

可以復制單個請求,也可以是頁面的所有請求。然后你就可以粘貼到終端執行了。

是不是很方便 ?

獲取所在地 IP

curl-Ltool.lu/ip
#or
curl-Lip.tool.lu
dc2a585e-1471-11ed-ba43-dac502259ad0.jpg

獲取天氣預報?

我們看看北京的:

curl'wttr.in/Beijing?lang=zh'
dc5544a6-1471-11ed-ba43-dac502259ad0.jpg

吐槽蘋果

這是一則去年關于 cURL 的舊新聞:https://www.163.com/dy/article/GTOGN8D20544B1XD.html

curl 作者吐槽蘋果把他當做免費工具人

了解這樣的新聞可以幫助你更深刻地認識開源、商業以及整個軟件的生態情況。
審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

原文標題:妙用 cURL

文章出處:【微信號:yikoulinux,微信公眾號:一口Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Tiny4412下CURL安裝與使用

    CURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱CURL為下載工具。CURL還包含了用于程序開發的libcurl。
    的頭像 發表于 05-31 17:20 ?1453次閱讀
    Tiny4412下<b class='flag-5'>CURL</b>安裝與使用

    使用curl+wget抓取網頁方法

    Linux抓取網頁,簡單方法是直接通過 curl 或 wget 兩種命令。curl 和 wget 命令,目前已經支持Linux和Windows平臺,后續將介紹。curl 和 wget支
    發表于 02-25 09:54

    curl文件下載工具的使用方法

    curl文件下載工具的使用方法 curl是一個利用URL語法在命令行方
    發表于 12-04 13:03 ?1748次閱讀

    示波器的使用方法

    示波器的使用方法 1 示波器使用        本節介紹示波器的使用方法。示波器種類、型號很多,功能也不同。
    發表于 01-14 13:06 ?1.8w次閱讀

    Matlab使用方法和程序設計

    Matlab使用方法和程序設計 實驗一 Matlab使用方法和程序設計一、
    發表于 10-17 00:18 ?5392次閱讀
    Matlab<b class='flag-5'>使用方法</b>和程序設計

    示波器的使用方法

    數字萬用表使用方法和示波器的使用方法詳解。
    發表于 03-14 10:38 ?32次下載

    xilinx 原語使用方法

    xilinx 原語使用方法
    發表于 10-17 08:57 ?11次下載
    xilinx 原語<b class='flag-5'>使用方法</b>

    CC debuger的使用方法

    CC debuger的使用方法
    發表于 10-18 10:07 ?5次下載

    ORCAD PSPICE 使用方法

    ORCAD PSPICE 使用方法
    發表于 10-18 14:52 ?39次下載
    ORCAD PSPICE <b class='flag-5'>使用方法</b>

    xilinx原語使用方法

    xilinx原語使用方法
    發表于 10-19 08:50 ?15次下載
    xilinx原語<b class='flag-5'>使用方法</b>

    git使用方法

    git使用方法
    發表于 10-24 09:45 ?19次下載
    git<b class='flag-5'>使用方法</b>

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點在于正確使用示波器的使用方法。往期文章中,小編對模擬示波器的使用方法和數字示波器的使用方法均有所介紹。為增進大家對示波器的
    的頭像 發表于 12-24 20:37 ?3257次閱讀

    simple curl操作類

    ./oschina_soft/curl.zip
    發表于 05-30 11:02 ?1次下載
    simple <b class='flag-5'>curl</b>操作類

    Linux系統如何安裝curl

    `curl`是用于在本地計算機與遠程服務器之間傳輸數據的命令行工具。使用curl時您可以使用HTTP,HTTPS, SCP , SFTP和FTP等協議下載或上傳數據。
    的頭像 發表于 12-06 16:53 ?1.7w次閱讀

    curl命令接入onenet簡單使用

    上一篇帖子講解了用fiddler軟件生成http報文然后上傳數據點到onenet,恰好在網上搜索到了cuel命令也可以,所以在這里就想發一篇帖子記錄下吧。用curl命令十分簡單快捷,但是需要
    發表于 10-20 17:11 ?0次下載
    <b class='flag-5'>curl</b>命令接入onenet簡單使用
    主站蜘蛛池模板: 第一次破女初国产美女| 国产不卡免费| 香蕉久久夜色精品国产小优| 久久91精品久久久久久水蜜桃| 二级特黄绝大片免费视频大片| 旧里番YY6080在线播放| 俄罗斯性xxxx| 98国产精品人妻无码免费| 色综合色综合久久综合频道| 久久蜜视频| 国产精品亚洲第一区二区三区| 毛片免费在线视频| 91青青草原| 一二三四高清中文版视频| 色姣姣狠狠撩综合网| 免费可以看黄的视频s色| 黄色大片aa| 国产精品亚洲AV色欲在线观看| 亚洲国产av| 日韩欧美中文字幕在线| 老师的快感电影完整版| 国产精品自拍| 俄罗斯bbbbbbbbb大片| CHRISTMAS农村夫妻HO| 最近最新的日本字幕MV| 亚洲卫视论坛| 亚洲精品无码久久久久A片空| 久久精品AV无码亚洲色欲| 国产高清视频在线观看不卡v| 亚洲欧美一区二区三区导航| 偷窥wc美女毛茸茸视频| 欧美日韩精品久久久免费观看| 国产成久久免费精品AV片天堂 | 亚洲AV久久无码精品九号 | 色久久久综合88一本道| 奶头从情趣内衣下露了出来AV| 啊…嗯啊好深男男高h文总受| 乌克兰成人性色生活片| 三级aa久久| 日本无码欧美激情在线视频| 暖暖视频大全免费观看|