在Linux系統(tǒng)下使用curl自定義HTTP頭的方法

curl是一個(gè)強(qiáng)大的命令行工具,它可以通過(guò)網(wǎng)絡(luò)將信息傳遞給服務(wù)器或者從服務(wù)器獲取數(shù)據(jù)。他支持很多的傳輸協(xié)議,尤其是HTTP/HTTPS以及其他諸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS協(xié)議等。當(dāng)你使用curl向一個(gè)URL發(fā)送HTTP請(qǐng)求的時(shí)候,它會(huì)使用一個(gè)默認(rèn)只包含必要的頭部字段(如:User-Agent, Host, and Accept)的HTTP頭。
在一些個(gè)例中,或許你想要在一個(gè)HTTP請(qǐng)求中覆蓋掉默認(rèn)的HTTP頭或者添加一個(gè)新的自定義頭部字段。例如,你或許想要重寫(xiě)“HOST”字段來(lái)測(cè)試一個(gè)負(fù)載均衡,或者通過(guò)重寫(xiě)"User-Agent"字符串來(lái)假冒特定瀏覽器以解決一些訪問(wèn)限制的問(wèn)題。
為了解決所有這些問(wèn)題,curl提供了一個(gè)簡(jiǎn)單的方法來(lái)完全控制傳出HTTP請(qǐng)求的HTTP頭。你需要的這個(gè)參數(shù)是“-H” 或者 “--header”。
為了定義多個(gè)HTTP頭部字段,"-H"選項(xiàng)可以在curl命令中被多次指定。
例如:以下命令設(shè)置了3個(gè)HTTP頭部字段。也就是說(shuō),重寫(xiě)了“HOST”字段,并且添加了兩個(gè)字段("Accept-Language" 和 "Cookie")

對(duì)于"User-Agent", "Cookie", "Host"這類(lèi)標(biāo)準(zhǔn)的HTTP頭部字段,通常會(huì)有另外一種設(shè)置方法。curl命令提供了特定的選項(xiàng)來(lái)對(duì)這些頭部字段進(jìn)行設(shè)置:
-A (or --user-agent): 設(shè)置 "User-Agent" 字段.
-b (or --cookie): 設(shè)置 "Cookie" 字段.
-e (or --referer): 設(shè)置 "Referer" 字段.
例如,以下兩個(gè)命令是等效的。這兩個(gè)命令同樣都對(duì)HTTP頭的"User-Agent"字符串進(jìn)行了更改。
$ curl -A "my browser" http://cnn.com
wget是另外一個(gè)類(lèi)似于curl,可以用來(lái)獲取URL的命令行工具。并且wget也一樣允許你使用一個(gè)自定義的HTTP頭。點(diǎn)擊這里查看wget命令的詳細(xì)信息。
相關(guān)文章
Linux中使用curl命令訪問(wèn)https站點(diǎn)4種常見(jiàn)錯(cuò)誤和解決方法
這篇文章主要介紹了Linux中使用curl命令訪問(wèn)https站點(diǎn)常見(jiàn)的4種錯(cuò)誤和解決方法,本文列舉的都是一些常見(jiàn)報(bào)錯(cuò)信息,,需要的朋友可以參考下2015-02-09linux中php如何安裝CURL擴(kuò)展方法示例教程
一種方式就是重新完全編譯php,另一種方式就是單獨(dú)編譯擴(kuò)展庫(kù),以extension的形式擴(kuò)展,下面以安裝curl擴(kuò)展為例,感興趣的朋友可以參考下哈2013-05-19