你是否曾為了測試一個 API 而苦惱,或是想快速檢查一個網(wǎng)頁的內(nèi)容?好消息,cURL 可能正是你需要的工具。簡單地說,cURL 是一個強大的命令行工具,它允許我們通過各種協(xié)議與服務(wù)器進行交互。不管你是一位新手程序員還是一個經(jīng)驗豐富的開發(fā)者,cURL 都是你工具箱中不可或缺的一部分。
curl 是一種使用 URL 從服務(wù)器傳輸數(shù)據(jù)或向服務(wù)器傳輸數(shù)據(jù)的工具。它支持以下協(xié)議: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、TFTP、WS 和 WSS。幾乎可以滿足所有網(wǎng)絡(luò)請求的需要,一般情況下使用電腦自帶的命令行工具就可以測試 cURL 命令,比如在 Windows 中點擊“Win + R”,然后輸入cmd后打開命令行工具,然后輸入 cURL 命令(如curl https://apifox.com)并按“Enter”回車鍵,就會給你返回響應數(shù)據(jù)。
curl參數(shù)
-o/--output:指定輸出文件的名稱,用于下載文件時保存到指定位置。
-O/--remote-name:根據(jù)URL中的文件名部分來保存文件,這在下載時特別有用。
-T/--upload-file:上傳文件時使用,指定要上傳的本地文件。
-e/--referer:設(shè)置HTTP Referer頭部,用于偽造來源頁面或進行盜鏈。
-A/--user-agent:設(shè)置User-Agent字符串,模仿瀏覽器或其他客戶端。
-X/--request:指定HTTP請求方法,如GET、POST等。
-d/--data:發(fā)送HTTP POST請求時,附帶的數(shù)據(jù)。
-b/--cookie:設(shè)置Cookie字符串,用于處理會話。
-s/--silent:靜默模式,不顯示進度和錯誤信息。
-S/--show-error:顯示錯誤信息,即使使用了-s選項。
-L/--location:跟隨重定向,如果請求的頁面被移動了,這個選項會讓curl重新定向到新的地址。
-i/--include:在輸出中包含HTTP響應頭。
-v/--verbose:詳細模式,顯示所有通信過程。
-H/--header:自定義HTTP頭部信息。
--trace:跟蹤請求的所有步驟,用于調(diào)試。
--limit-rate:限制數(shù)據(jù)傳輸速率。
--connect-timeout:設(shè)置連接超時時間。


常用 cURL 命令
讓我們來看看 cURL 的一些常用命令及其使用場景。
1. 獲取網(wǎng)頁內(nèi)容
使用curl [URL]命令獲取網(wǎng)頁內(nèi)容,示例如下:
curl https://apifox.com
這個命令會顯示https://apifox.com網(wǎng)頁的 HTML 內(nèi)容。
2. 發(fā)送 GET 請求
使用curl -X GET [URL]發(fā)送 GET 請求。
curl -X GET https://apifox.com
這條命令使用 GET 方法向https://apifox.com發(fā)起請求,通常用于請求查詢信息。
3. 發(fā)送 POST 請求
使用curl -X POST -d "data" [URL]發(fā)送 POST 請求。
curl -X POST -d "param1=value1¶m2=value2" https://apifox.com/login
使用 POST 方法提交數(shù)據(jù),常用于表單提交。
4. 上傳文件
使用curl -F "file=@[file_path]" [URL]上傳文件。
curl -F "file=@path/to/local/file" https://apifox.com/upload
這條命令可以上傳文件到指定的服務(wù)器地址。
5. 下載文件
使用curl -O [URL]下載文件。
curl -o filename https://apifox.com/file
這個命令將遠程文件下載并保存為本地的 filename。
6. 設(shè)置請求頭
使用curl -H "Header: Value" [URL]設(shè)置請求頭。
curl -H "Content-Type: application/json" https://apifox.com
通過這條命令加入自定義的請求頭,非常有用,比如指定內(nèi)容類型為 JSON。
7. 保存和使用 Cookies
保存會話 Cookies:curl -c cookies.txt [URL]。
curl -c cookies.txt https://apifox.com
這個命令可以在訪問網(wǎng)站時保存 session Cookies 到本地文件。
8. 重定向處理
自動處理重定向:curl -L [URL],檢查重定向鏈接:curl -i [URL]。
curl -L https://apifox.com
如果遇到重定向,這個命令會自動追蹤到新的位置。
9. 設(shè)置超時時間
設(shè)置連接和響應超時:curl --connect-timeout [seconds] --max-time [seconds] [URL]。
curl -m 10 https://apifox.com
設(shè)置最大傳輸時間為 10 秒,防止過長時間等待。
參考:
1、https://blog.csdn.net/jg_csdn/article/details/137783833
2、https://zhuanlan.zhihu.com/p/636354503
3、https://blog.csdn.net/angle_chen123/article/details/120675472
浙公網(wǎng)安備 33010602011771號