cURL是一個被廣泛應用於網絡開發中的命令行工具,它可以實現HTTP、FTP、SMTP等多種協議的數據傳輸。在實際開發中,經常需要使用cURL來獲取或發送數據,而cURL顯示詳細信息功能則可以幫助我們更好地了解傳輸過程中的細節信息,從而更好地調試和優化網絡應用。
一、啟用cURL顯示詳細信息
默認情況下,cURL並不會在命令行中顯示詳細的傳輸過程信息。要啟用cURL的詳細信息顯示,可以通過命令行參數-v
或者--verbose
來實現:
curl -v http://www.example.com
這樣,在cURL發送請求和接收響應的過程中,會輸出一系列詳細的信息,包括請求頭、響應頭、傳輸速度等等。例如:
* Trying 93.184.216.34... * Connected to www.example.com (93.184.216.34) port 80 (#0) > GET / HTTP/1.1 > Host: www.example.com > User-Agent: curl/7.47.0 > Accept: */* > < HTTP/1.1 200 OK < Cache-Control: max-age=604800 < Content-Type: text/html; charset=UTF-8 < Date: Thu, 22 Jul 2021 07:46:07 GMT < Etag: "3147526947+ident" < Expires: Thu, 29 Jul 2021 07:46:07 GMT < Last-Modified: Thu, 17 Oct 2013 17:00:01 GMT < Server: ECS (sab/5E90) < Vary: Accept-Encoding < X-Cache: HIT < x-ec-custom-error: 1 < Content-Length: 1270 <Example Domain ...
可以看到,-v
選項的輸出非常詳細,包括連接過程、請求頭、響應頭、響應正文等等,可以幫助我們更好地了解網絡傳輸過程中的細節。
二、輸出cURL傳輸速度信息
除了上述的基本信息外,cURL還可以輸出傳輸速度和剩餘時間等信息,通過命令參數-#
或者--progress-bar
來實現。例如:
curl -# -o /dev/null http://www.example.com
這裡使用了-o /dev/null
參數,意味着將服務器響應的內容輸出到/dev/null中,也就是不輸出到控制台中。此時cURL會輸出如下的信息:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1270 100 1270 0 0 287k 0 --:--:-- --:--:-- --:--:-- 307k
可以看到,cURL會顯示傳輸的總進度和平均速度。如果不想看到進度條的輸出,可以使用-s
或者--silent
參數來關閉輸出。
三、查看cURL的SSL證書驗證信息
cURL默認會驗證SSL證書的有效性,如果服務器的證書無效,cURL會拒絕連接並輸出相關的錯誤信息。但是,在某些情況下,我們需要查看SSL證書的詳細驗證信息,可以通過-k
或者--insecure
參數來實現。例如:
curl -v -k https://www.example.com
這裡訪問的是Https協議的網站,但是因為使用了-k
參數,所以cURL不會對SSL證書進行驗證。這樣輸出的信息會包括證書的詳細信息,如下所示:
... * Server certificate: * subject: C=US; ST=California; L=Los Angeles; O=Internet Corporation for Assigned Names and Numbers; CN=www.example.org * start date: Aug 13 00:00:00 2015 GMT * expire date: Oct 09 12:00:00 2020 GMT * subjectAltName: host "www.example.org" matched cert's "www.example.org" ...
可以看到,通過-k
參數,我們可以查看連接過程中SSL證書的詳細信息,方便我們了解連接的安全情況。
四、使用cURL的cookie功能
cURL可以自動處理HTTP Cookie,並且可以將Cookie保存到文件中,以便下次使用。可以通過-b
或者--cookie
參數來指定Cookie文件的位置,通過-c
或者--cookie-jar
參數來指定保存Cookie的位置。例如:
curl -c cookies.txt -b cookies.txt https://www.example.com/login
這裡使用-c
參數將Cookie保存到cookies.txt文件中,使用-b
參數從cookies.txt文件中讀取Cookie信息。這樣在後續發起請求時,cURL會自動帶上Cookie信息,方便我們使用和管理Cookie。
五、對POST請求進行調試
在實際開發中,經常需要使用POST請求來提交數據,cURL同樣支持POST請求,並且能夠很好地輸出調試信息。通過-d
或者--data
參數來指定POST請求的數據,例如:
curl -v -d "username=test&password=123456" https://www.example.com/login
這裡使用-d
參數來指定POST請求的數據,同時使用-v
參數輸出詳細的調試信息。這樣,我們可以看到POST請求的數據和服務器的響應,方便我們進行調試和優化。
總結
cURL是一款十分強大的網絡傳輸命令行工具,通過啟用詳細信息顯示功能,我們可以更好地了解網絡傳輸過程中的細節。除了以上介紹的功能,cURL還有很多其他的高級用法,希望本文能夠為讀者提供一些參考和幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152740.html