昨天現場的瀏覽器崩潰了,樓主苦逼,就臨時用了curl測試了下圖片請求接口。今天總結下。算法
curl is a tool to transfer data from or to a server瀏覽器
curl是用在命令行和腳本進行傳輸數據到服務器或者從服務器傳輸數據的工具。安全
語法:curl [options] [URL...]服務器
參數:restful
參數 | 描述 |
---|---|
-V | 顯示當前的curl版本 |
-# | 對發送和接收進行簡單的進度bar展現 |
-0 | 強制使用HTTP 1.0協議 |
-1 | 強制使用TLS version 1.x |
-4 | 解析域名爲ipv4地址(域名有多個ip時) |
-a | FTP/SFTP上傳文件時,curl將追加到目標文件,而非覆蓋 |
-A | 設置用戶代理 |
-b | 設置cookies |
--basic | 使用HTTP Basic authentication |
--compressed | 使用curl支持的壓縮算法請求壓縮的響應, 若是請求的響應不是壓縮的,curl拋出異常 |
--connect-timeout | 設置鏈接超時時間 |
-d | 用於post請求時表單提交數據, 請求類型將被設置爲:application/x-www-form-urlencoded |
-e | 發送"Referer Page"到服務器 |
-F | form表單提交 |
-G | 使用get請求發送 -d參數指定的數據 |
-H | 增長Head頭 |
-i | 在輸出Head頭(響應) |
-I | 只輸出Head頭(響應) |
--interface | 指定使用的網絡接口 |
-k | 容許curl使用非安全的ssl鏈接而且傳輸數據(證書不受信) |
-K | 後接參數文件,參數文件中能夠定義HTTP請求的相關的內容(URL、HEAD、DATA) |
--keepalive-time | 設置鏈接的保活時間 |
-L | curl自動重定向(3xx) |
--limit-rate | 特指最大的傳輸速率 |
-m | 設置整個操做的容許消耗的最大時間,對於在延時網絡下的批量操做有利 |
--max-filesize | 容許下載文件的最大大小 |
-N | 禁用輸出流緩衝區 |
--no-keepalive | 鏈接不保活 |
-o | 將響應數據輸出到指定文件,後接文件參數 |
--retry | 發生瞬時錯誤時,curl將重試執行數據傳輸 |
--retry-delay | 延遲重試 |
--trace | dump出輸入輸出數據至文件 |
-v | 獲取更多輸入輸出相關的內容,對於debug很是有用 |
-y或者--speed-time | 若是在speed-time期間,下載比speed-limit這個更慢,則下載廢止 |
-Y或者--speed-limit | 若是在speed-time期間,下載比speed-limit這個更慢,則下載廢止 |
接着看下下面的使用示例:cookie
// 使用-k參數忽略證書不受信問題,-b參數指定cookies,-i參數輸出響應頭 curl -ki -b "JSESSIONID=011F1B99963D28CF91E90C99A51B1E34; _i18n_locale=zh_CN" --compressed https://10.33.42.149/fas/human/uploadPic.action // -d參數指定post表單的數據, -o參數指定響應內容輸出到指定文件 curl -kv -d "name=daniel skill=lou" https://10.33.42.149:443/cas/login -o output // -1指定tls版本1.x,-H指定請求頭 curl -1 -ki -e "https://10/33.42.149" -H "X-Custom-Header:lxy" https://10.33.42.149:443/cas/login // -L指定自動重定向 curl -kvL http://10.33.42.149 // -K指定請求的參數配置文件 curl -kvK ex // -e指定Referer curl -kv -e "https://10/33.42.149" -H "X-Custom-Header:lxy" https://10.33.42.149:443/cas/login