curl命令
阿新 • • 發佈:2021-01-21
命令:curl
在Linux中curl是一個利用URL規則在命令列下工作的檔案傳輸工具,可以說是一款很強大的http命令列工具。它支援檔案的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url為下載工具。
語法:# curl [option] [url]
常見引數:
-A/--user-agent <string> 設定使用者代理髮送給伺服器 -b/--cookie <name=string/file> cookie字串或檔案讀取位置 -c/--cookie-jar <file> 操作結束後把cookie寫入到這個檔案中 -C/--continue-at <offset> 斷點續轉 -D/--dump-header <file> 把header資訊寫入到該檔案中 -e/--referer 來源網址 -f/--fail 連線失敗時不顯示http錯誤 -o/--output 把輸出寫到該檔案中 -O/--remote-name 把輸出寫到該檔案中,保留遠端檔案的檔名 -r/--range <range> 檢索來自HTTP/1.1或FTP伺服器位元組範圍 -s/--silent 靜音模式。不輸出任何東西 -T/--upload-file <file> 上傳檔案 -u/--user <user[:password]> 設定伺服器的使用者和密碼 -w/--write-out [format] 什麼輸出完成後 -x/--proxy <host[:port]> 在給定的埠上使用HTTP代理 -#/--progress-bar 進度條顯示當前的傳送狀態
例子:
1、基本用法
# curl http://www.linux.com
執行後,www.linux.com 的html就會顯示在螢幕上了
Ps:由於安裝linux的時候很多時候是沒有安裝桌面的,也意味著沒有瀏覽器,因此這個方法也經常用於測試一臺伺服器是否可以到達一個網站
2、儲存訪問的網頁
2.1:使用linux的重定向功能儲存
# curl http://www.linux.com >> linux.html
2.2:可以使用curl的內建option:-o(小寫)儲存網頁
$ curl -o linux.html http://www.linux.com
執行完成後會顯示如下介面,顯示100%則表示儲存成功
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 79684 0 79684 0 0 3437k 0 --:--:-- --:--:-- --:--:-- 7781k
2.3:可以使用curl的內建option:-O(大寫)儲存網頁中的檔案
要注意這裡後面的url要具體到某個檔案,不然抓不下來
# curl -O http://www.linux.com/hello.sh
3、測試網頁返回值
# curl -o /dev/null -s -w %{http_code} www.linux.com
Ps:在指令碼中,這是很常見的測試網站是否正常的用法
3、下載檔案
3.1:利用curl下載檔案。
#使用內建option:-o(小寫)
# curl -o dodo1.jpg http:www.linux.com/dodo1.JPG
#使用內建option:-O(大寫)
# curl -O http://www.linux.com/dodo1.JPG
這樣就會以伺服器上的名稱儲存檔案到本地
3.2:迴圈下載
有時候下載圖片可以能是前面的部分名稱是一樣的,就最後的尾椎名不一樣
# curl -O http://www.linux.com/dodo[1-5].JPG
這樣就會把dodo1,dodo2,dodo3,dodo4,dodo5全部儲存下來
4、上傳檔案
curl不僅僅可以下載檔案,還可以上傳檔案。通過內建option:-T來實現
# curl -T dodo1.JPG -u 使用者名稱:密碼 ftp://www.linux.com/img/
這樣就向ftp伺服器上傳了檔案dodo1.JPG