curl命令實用教程

前言

在Linux中curl是一個利用URL規則在命令行下工作的文件傳輸工具,可以說是一款很強大的http命令行工具。它支持文件的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url爲下載工具。curl命令在日常開發或運維中都經常用到,這裏和大家總結下curl命令的常用用法。

基礎用法

curl http://www.baidu.com

執行後,www.baidu.com 的html就會顯示在屏幕上了。

保存訪問的網頁

方式一 使用linux的重定向功能保存

curl http://www.baidu.com >> linux.html

方式二 使用curl的內置option:-o(小寫)保存網頁

curl -o linux.html http://www.baidu.com

測試網頁返回值

curl -o /dev/null -s -w %{http_code} http://www.baidu.com

/dev/null可以理解爲/dev路徑下的空文件;該命令將command命令的標準輸出輸出到空文件中;-s 表示靜默處理 -w 輸出對應的狀態碼;

自動跳轉

有的網址是自動跳轉的。使用`-L`參數,curl就會跳轉到新的網址。下面的命令會自動跳轉到www.sina.com.cn

curl -L http://www.sina.com

顯示頭信息

curl -i http://www.baidu.com

發送表單信息

發送表單信息有GET和POST兩種方法。GET方法相對簡單,只要把數據附在網址後面就行。

curl http://www.baidu.com/test?name=aiqinhai

POST方法必須把數據和網址分開,curl就要用到--data參數。curl默認的HTTP動詞是GET,使用`-X`參數可以支持其他動詞。

 curl -X POST --data "name=aiqinhai" http://www.baidu.com/test

如果你的數據沒有經過表單編碼,還可以讓curl爲你編碼,參數是`--data-urlencode`。

 curl -X POST--data-urlencode "name=ai qin hai" http://www.baidu.com/test

僞造refere

很多服務器會檢查http訪問的referer從而來控制訪問。比如:你是先訪問首頁,然後再訪問首頁中的郵箱頁面,這裏訪問郵箱的referer地址就是訪問首頁成功後的頁面地址,如果服務器發現對郵箱頁面訪問的referer地址不是首頁的地址,就斷定那是個盜連了curl中內置option:-e可以讓我們設定referer

curl -e "www.baidu.com" http://mail.baidu.com

下載文件

使用內置option:-o(小寫)

curl -o aiqinhai.jpg http://www.baidu.com/aiqinhai.jpg

使用內置option:-O(大寫)

curl -O http://www.baidu.com/aiqinhai.jpg

增加頭信息

有時需要在http request之中,自行增加一個頭信息。--header參數就可以起到這個作用。

curl --header "Content-Type:application/json" http://www.baidu.com
或
curl -H "Content-Type:application/json" http://www.baidu.com

HTTP認證

有些網域需要HTTP認證,這時curl需要用到--user參數。

curl --user name:password http://www.baidu.com

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章