curl使用實例

1. 獲取網(wǎng)頁

curl http://www.baidu.com

2. 顯示Http Header

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

結(jié)果:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: Keep-Alive
Content-Length: 277
Content-Type: text/html
Date: Mon, 11 Mar 2019 06:37:38 GMT
Etag: "575e1f8a-115"
Last-Modified: Mon, 13 Jun 2016 02:50:50 GMT
Pragma: no-cache
Server: bfe/1.0.8.18

也可以同時顯示 HTTP 頭和文件內(nèi)容,使用 -i 選項:

3. 保存到文件
方式1:

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

方式2:
-o(小寫的 o):結(jié)果會被保存到命令行中提供的文件名
-O(大寫的 O):URL 中的文件名會被用作保存輸出的文件名

curl -o index.html http://www.codebelief.com
curl -O http://www.codebelief.com/page/2/

4. 多文件下載

curl -O http://www.baidu.com/page/2/ -O http://www.baidu.com/page/3/

5.鏈接重定向的處理(使用 -L)
如果直接使用 curl 打開某些被重定向后的鏈接弥咪,這種情況下就無法獲取我們想要的網(wǎng)頁內(nèi)容
如:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.10.3</center>
</body>
</html>

而當(dāng)我們通過瀏覽器打開該鏈接時碗旅,會自動跳轉(zhuǎn)到 http://www.baidu.com。此時我們想要 curl 做的基公,就是像瀏覽器一樣跟隨鏈接的跳轉(zhuǎn)琴庵,獲取最終的網(wǎng)頁內(nèi)容伤溉。我們可以在命令中添加 -L 選項來跟隨鏈接重定向:

curl -L http://baidu.com

6. 使用 -A 自定義 User-Agent

curl -A "Mozilla/5.0 (Android; Mobile; rv:35.0)"  http://www.baidu.com/

7. 使用 -H 自定義 header

當(dāng)我們需要傳遞特定的 header 的時候辫秧,可以仿照以下命令來寫:

curl -H "Referer: www.example.com" -H \ 
"User-Agent: Custom-User-Agent" http://www.baidu.com/

可以看到束倍,當(dāng)我們使用 -H 來自定義 User-Agent 時,需要使用 “User-Agent: xxx” 的格式盟戏。

我們能夠直接在 header 中傳遞 Cookie绪妹,格式與上面的例子一樣:

curl -H "Cookie: JSESSIONID=D0112A5063D938586B659EF8F939BE24" "http://www.example.com/"

8. 使用 -c 保存 Cookie
當(dāng)我們使用 cURL 訪問頁面的時候,默認(rèn)是不會保存 Cookie 的柿究。有些情況下我們希望保存 Cookie 以便下次訪問時使用邮旷。例如登陸了某個網(wǎng)站,我們希望再次訪問該網(wǎng)站時保持登陸的狀態(tài)蝇摸,這時就可以現(xiàn)將登陸時的 Cookie 保存起來婶肩,下次訪問時再讀取。
-c 后面跟上要保存的文件名探入。

curl -c "cookie-example" http://www.example.com 

9. 使用 -b 讀取 Cookie
前面講到了使用 -H 來發(fā)送 Cookie 的方法狡孔,這種方式是直接將 Cookie 字符串寫在命令中。如果使用 -b 來自定義 Cookie蜂嗽,命令如下:

curl -b "JSESSIONID=D0112A5063D938586B659EF8F939BE24"  http://www.example.com/

如果要從文件中讀取 Cookie,-H 就無能為力了殃恒,此時可以使用 -b 來達(dá)到這一目的:

curl -b "cookie-example"  http://www.example.com 

即 -b 后面既可以是 Cookie 字符串植旧,也可以是保存了 Cookie 的文件名。

10. 使用 -d 發(fā)送 POST 請求
-d 用于指定發(fā)送的數(shù)據(jù)离唐,-X 用于指定發(fā)送數(shù)據(jù)的方式:

curl -d "userName=tom&passwd=123456" -X POST  http://www.example.com/login

在使用 -d 的情況下病附,如果省略 -X,則默認(rèn)為 POST 方式:

curl -d "userName=tom&passwd=123456"  http://www.example.com/login

強制使用 GET 方式
發(fā)送數(shù)據(jù)時亥鬓,不僅可以使用 POST 方式完沪,也可以使用 GET 方式,例如:

curl -d "somedata" -X GET http://www.example.com/api

或者使用 -G 選項:

curl -d "somedata" -G  http://www.example.com/api

從文件中讀取 data

curl -d "@data.txt"  http://www.example.com/login

帶 Cookie 登錄
當(dāng)然嵌戈,如果我們再次訪問該網(wǎng)站覆积,仍然會變成未登錄的狀態(tài)。我們可以用之前提到的方法保存 Cookie熟呛,在每次訪問網(wǎng)站時都帶上該 Cookie 以保持登錄狀態(tài)宽档。

curl -c "cookie-login" -d "userName=tom&passwd=123456" http://www.example.com/login

再次訪問該網(wǎng)站時,使用以下命令:

curl -b "cookie-login"  http://www.example.com/login

11.上傳文件

curl localhost:8000/api/v1/upimg -F "file=@/Users/Downloads/401.png" -H "token: 222" -v

未完待續(xù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末庵朝,一起剝皮案震驚了整個濱河市吗冤,隨后出現(xiàn)的幾起案子又厉,更是在濱河造成了極大的恐慌,老刑警劉巖椎瘟,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件覆致,死亡現(xiàn)場離奇詭異,居然都是意外死亡肺蔚,警方通過查閱死者的電腦和手機煌妈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來婆排,“玉大人声旺,你說我怎么就攤上這事《沃唬” “怎么了腮猖?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赞枕。 經(jīng)常有香客問我澈缺,道長,這世上最難降的妖魔是什么炕婶? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任姐赡,我火速辦了婚禮,結(jié)果婚禮上柠掂,老公的妹妹穿的比我還像新娘项滑。我一直安慰自己,他們只是感情好涯贞,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布枪狂。 她就那樣靜靜地躺著,像睡著了一般宋渔。 火紅的嫁衣襯著肌膚如雪州疾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天皇拣,我揣著相機與錄音严蓖,去河邊找鬼。 笑死氧急,一個胖子當(dāng)著我的面吹牛颗胡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播态蒂,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼杭措,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了钾恢?” 一聲冷哼從身側(cè)響起手素,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤鸳址,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泉懦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稿黍,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年崩哩,在試婚紗的時候發(fā)現(xiàn)自己被綠了巡球。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡邓嘹,死狀恐怖酣栈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情汹押,我是刑警寧澤矿筝,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站棚贾,受9級特大地震影響窖维,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妙痹,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一铸史、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怯伊,春花似錦琳轿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猩系,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間中燥,已是汗流浹背寇甸。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疗涉,地道東北人拿霉。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像咱扣,于是被迫代替她去往敵國和親绽淘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354