curl命令詳解


curl用於和服務端交互,而不用經過網頁界面認為操作,常用於判定指定url的服務是否能正常調用。
curl的基本用法:
1.判定指定url連通性,curl -v https://www.baidu.com
 
2.調用接口,curl -H "Content-Type:application/json" -X POST -d '{"operator": "killianxu","place_type":"tt"}' http://www.killianxu.cn/api/get_place_list
可在網頁 https://curl.trillworks.com/,將curl調用轉換為python代碼
3.判定https的url是否連通,並獲取其它交互的詳細信息,包括tcp連接延時,SSL握手延時等,curl -m 2 -k -sS  -v -w '%{time_connect}\n%{time_total}\n%{http_code}\n%{time_appconnect}\n' https://118.24.225.168:22 -H Host: 1557367664.cq.1253702919.clb.myqcloud.com --trace-time
 
-m,--max-time <seconds>整個交互完成的超時時間。
-k ,--insecure,建立不安全連接。用於https協議,SSL握手過程,從服務端獲取的證書,不進行驗證。
-sS,請求發生錯誤時,顯示錯誤信息,比如這里的curl: (28) Operation timed out after 2001 milliseconds with 0 out of -1 bytes received。
-v顯示請求的詳細過程,用於調試的目的,如果不加-v,顯示如下:
 
-w,--write-out <format>定義請求完成時要顯示的信息。這里的format為'%{time_connect}\n%{time_total}\n%{http_code}\n%{time_appconnect}\n',time_connect為tcp連接時間,time_appconnect為SSL握手時間,time_total是總時間,http_code是狀態碼(000有很多原因,包括tcp連接延時、ssl握手延時、操作超時等,這里可通過輸出的錯誤信息查看原因),更多可顯示的其他信息可man curl查看。
-H,--header <header>定義頭部信息
--trace-time,顯示curl過程的時間戳,用於查看時間耗在哪步。
 
當進行大量curl請求時,會出現SSL握手延時整體變大的情況,跟curl版本有關系。
NSS版本的curl SSL握手第一步時間比較長,可能和實現方式有關,可換為OpenSSL版本。
OpenSS版本curl安裝如下(可安裝在任意路徑,不會覆蓋已有版本):
2.tar -jxvf  curl-7.65.3.tar.bz2
3. ./configure
4.make
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM