Linux Shell腳本編程--curl命令詳解
用途說明
curl命令是一個功能強大的網絡工具,它能夠通過http、ftp等方式下載文件,也能夠上傳文件。其實curl遠不止前面所說的那些功能,大家可以通過man curl閱讀手冊頁獲取更多的信息。類似的工具還有wget。
curl命令使用了libcurl庫來實現,libcurl庫常用在C程序中用來處理HTTP請求,curlpp是libcurl的一個C++封裝,這幾個東西可以用在抓取網頁、網絡監控等方面的開發,而curl命令可以幫助來解決開發過程中遇到的問題。
常用參數
curl命令參數很多,這裡只列出我曾經用過、特別是在shell腳本中用到過的那些。
-A:隨意指定自己這次訪問所宣稱的自己的浏覽器信息
-b/--cookie <name=string/file> cookie字符串或文件讀取位置,使用option來把上次的cookie信息追加到http request裡面去。
-c/--cookie-jar <file> 操作結束後把cookie寫入到這個文件中
-C/--continue-at <offset> 斷點續轉
-d/--data <data> HTTP POST方式傳送數據
-D/--dump-header <file> 把header信息寫入到該文件中
-F/--form <name=content> 模擬http表單提交數據
-v/--verbose 小寫的v參數,用於打印更多信息,包括發送的請求信息,這在調試腳本是特別有用。
-m/--max-time <seconds> 指定處理的最大時長
-H/--header <header> 指定請求頭參數
-s/--slient 減少輸出的信息,比如進度
--connect-timeout <seconds> 指定嘗試連接的最大時長
-x/--proxy <proxyhost[:port]> 指定代理服務器地址和端口,端口默認為1080
-T/--upload-file <file> 指定上傳文件路徑
-o/--output <file> 指定輸出文件名稱
--retry <num> 指定重試次數
-e/--referer <URL> 指定引用地址
-I/--head 僅返回頭部信息,使用HEAD請求
-u/--user <user[:password]>設置服務器的用戶和密碼
-O:按照服務器上的文件名,自動存在本地
-r/--range <range>檢索來自HTTP/1.1或FTP服務器字節范圍
-T/--upload-file <file> 上傳文件