curl-操作實(shí)例

本文來自網(wǎng)絡(luò)敞葛,訪問原文請(qǐng)點(diǎn)擊此處:
1 基本用法
curl http://www.linux.com
執(zhí)行后挪鹏,www.linux.com 的html就會(huì)顯示在屏幕上了
Ps:由于安裝linux的時(shí)候很多時(shí)候是沒有安裝桌面的区赵,也意味著沒有瀏覽器辐啄,因此這個(gè)方法也經(jīng)常用于測(cè)試一臺(tái)服務(wù)器是否可以到達(dá)一個(gè)網(wǎng)站

2 保存訪問的網(wǎng)頁
2.1 使用linux的重定向功能保存
curl http://www.linux.com >> linux.html
2.2 可以使用curl的內(nèi)置option:-o(小寫)保存網(wǎng)頁
curl -o linux.html http://www.linux.com
執(zhí)行完成后會(huì)顯示如下界面,顯示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的內(nèi)置option:-O(大寫)保存網(wǎng)頁中的文件
要注意這里后面的url要具體到某個(gè)文件景鼠,不然抓不下來
curl -O http://www.linux.com/hello.sh

3 測(cè)試網(wǎng)頁返回值
curl -o /dev/null -s -w %{http_code} www.linux.com
Ps:在腳本中仲翎,這是很常見的測(cè)試網(wǎng)站是否正常的用法

4 指定proxy服務(wù)器以及其端口
很多時(shí)候上網(wǎng)需要用到代理服務(wù)器(比如是使用代理服務(wù)器上網(wǎng)或者因?yàn)槭褂胏url別人網(wǎng)站而被別人屏蔽IP地址的時(shí)候),幸運(yùn)的是curl通過使用內(nèi)置option:-x來支持設(shè)置代理
curl -x 192.168.100.100:1080 http://www.linux.com

5 cookie
有些網(wǎng)站是使用cookie來記錄session信息铛漓。對(duì)于chrome這樣的瀏覽器溯香,可以輕易處理cookie信息,但在curl中只要增加相關(guān)參數(shù)也是可以很容易的處理cookie
5.1 保存http的response里面的cookie信息浓恶。內(nèi)置option:-c(小寫)
curl -c cookiec.txt http://www.linux.com
執(zhí)行后cookie信息就被存到了cookiec.txt里面了
5.2 保存http的response里面的header信息玫坛。內(nèi)置option: -D
curl -D cookied.txt http://www.linux.com
執(zhí)行后cookie信息就被存到了cookied.txt里面了
注意:-c(小寫)產(chǎn)生的cookie和-D里面的cookie是不一樣的。
5.3 使用cookie
很多網(wǎng)站都是通過監(jiān)視你的cookie信息來判斷你是否按規(guī)矩訪問他們的網(wǎng)站的包晰,因此我們需要使用保存的cookie信息湿镀。內(nèi)置option: -b
curl -b cookiec.txt http://www.linux.com

6 模仿瀏覽器
有些網(wǎng)站需要使用特定的瀏覽器去訪問他們,有些還需要使用某些特定的版本伐憾。curl內(nèi)置option:-A可以讓我們指定瀏覽器去訪問網(wǎng)站
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.linux.com
這樣服務(wù)器端就會(huì)認(rèn)為是使用IE8.0去訪問的

7 偽造referer(盜鏈)
很多服務(wù)器會(huì)檢查http訪問的referer從而來控制訪問勉痴。比如:你是先訪問首頁,然后再訪問首頁中的郵箱頁面树肃,這里訪問郵箱的referer地址就是訪問首頁成功后的頁面地址蒸矛,如果服務(wù)器發(fā)現(xiàn)對(duì)郵箱頁面訪問的referer地址不是首頁的地址,就斷定那是個(gè)盜連了
curl中內(nèi)置option:-e可以讓我們?cè)O(shè)定referer
curl -e "www.linux.com" http://mail.linux.com
這樣就會(huì)讓服務(wù)器其以為你是從www.linux.com點(diǎn)擊某個(gè)鏈接過來的

8 下載文件
8.1 利用curl下載文件胸嘴。
使用內(nèi)置option:-o(小寫)
curl -o dodo1.jpg http:www.linux.com/dodo1.JPG
使用內(nèi)置option:-O(大寫)
curl -O http://www.linux.com/dodo1.JPG
這樣就會(huì)以服務(wù)器上的名稱保存文件到本地
8.2 循環(huán)下載
有時(shí)候下載圖片可以能是前面的部分名稱是一樣的雏掠,就最后的尾椎名不一樣
curl -O http://www.linux.com/dodo[1-5].JPG
這樣就會(huì)把dodo1,dodo2劣像,dodo3乡话,dodo4,dodo5全部保存下來
8.3 下載重命名
curl -O http://www.linux.com/{hello,bb}/dodo[1-5].JPG
由于下載的hello與bb中的文件名都是dodo1耳奕,dodo2绑青,dodo3,dodo4吮铭,dodo5时迫。因此第二次下載的會(huì)把第一次下載的覆蓋,這樣就需要對(duì)文件進(jìn)行重命名谓晌。
curl -o #1_#2.JPG http://www.linux.com/{hello,bb}/dodo[1-5].JPG
這樣在hello/dodo1.JPG的文件下載下來就會(huì)變成hello_dodo1.JPG,其他文件依此類推,從而有效的避免了文件被覆蓋
8.4 分塊下載
有時(shí)候下載的東西會(huì)比較大癞揉,這個(gè)時(shí)候我們可以分段下載纸肉。使用內(nèi)置option:-r
curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG
curl -r 100-200 -o dodo1_part2.JPG http://www.linux.com/dodo1.JPG
curl -r 200- -o dodo1_part3.JPG http://www.linux.com/dodo1.JPG
cat dodo1_part* > dodo1.JPG
這樣就可以查看dodo1.JPG的內(nèi)容了
8.5 通過ftp下載文件
curl可以通過ftp下載文件溺欧,curl提供兩種從ftp中下載的語法
curl -O -u 用戶名:密碼 ftp://www.linux.com/dodo1.JPG
curl -O ftp://用戶名:密碼@www.linux.com/dodo1.JPG
8.6 顯示下載進(jìn)度條
curl -# -O http://www.linux.com/dodo1.JPG
8.7 不會(huì)顯示下載進(jìn)度信息
curl -s -O http://www.linux.com/dodo1.JPG

9 斷點(diǎn)續(xù)傳
在windows中,我們可以使用迅雷這樣的軟件進(jìn)行斷點(diǎn)續(xù)傳柏肪。curl可以通過內(nèi)置option:-C同樣可以達(dá)到相同的效果
如果在下載dodo1.JPG的過程中突然掉線了姐刁,可以使用以下的方式續(xù)傳
curl -C -O http://www.linux.com/dodo1.JPG

10、上傳文件
curl不僅僅可以下載文件烦味,還可以上傳文件聂使。通過內(nèi)置option:-T來實(shí)現(xiàn)
curl -T dodo1.JPG -u 用戶名:密碼 ftp://www.linux.com/img/
這樣就向ftp服務(wù)器上傳了文件dodo1.JPG

11、顯示抓取錯(cuò)誤
curl -f http://www.linux.com/error

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谬俄,一起剝皮案震驚了整個(gè)濱河市柏靶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌溃论,老刑警劉巖屎蜓,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異钥勋,居然都是意外死亡炬转,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門算灸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扼劈,“玉大人,你說我怎么就攤上這事菲驴〖龀常” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵谢翎,是天一觀的道長捍靠。 經(jīng)常有香客問我,道長森逮,這世上最難降的妖魔是什么榨婆? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮褒侧,結(jié)果婚禮上良风,老公的妹妹穿的比我還像新娘。我一直安慰自己闷供,他們只是感情好烟央,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歪脏,像睡著了一般疑俭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婿失,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天钞艇,我揣著相機(jī)與錄音啄寡,去河邊找鬼。 笑死哩照,一個(gè)胖子當(dāng)著我的面吹牛挺物,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播飘弧,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼识藤,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了次伶?” 一聲冷哼從身側(cè)響起痴昧,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎学少,沒想到半個(gè)月后剪个,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡版确,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年扣囊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绒疗。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侵歇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吓蘑,到底是詐尸還是另有隱情惕虑,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布磨镶,位于F島的核電站溃蔫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏琳猫。R本人自食惡果不足惜伟叛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脐嫂。 院中可真熱鬧统刮,春花似錦、人聲如沸账千。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匀奏。三九已至鞭衩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背醋旦。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工恒水, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留会放,地道東北人饲齐。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像咧最,于是被迫代替她去往敵國和親捂人。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容