問題:我正嘗試使用curl命令獲取一個URL,但除此之外我還想在傳出的HTTP請求中設置一些自定義的頭部字段。我如何能夠在curl中使用自定義的HTTP頭呢?
curl是一個強大的命令行工具,它可以通過網絡將信息傳遞給服務器或者從服務器獲取數據。他支持很多的傳輸協議,尤其是HTTP/HTTPS以及其他諸如FTP/FTPS, RTSP, POP3/POP3S, SCP, IMAP/IMAPS協議等。當你使用curl向一個URL發送HTTP請求的時候,它會使用一個默認只包含必要的頭部字段(如:User-Agent, Host, and Accept)的HTTP頭。
在一些個例中,或許你想要在一個HTTP請求中覆蓋掉默認的HTTP頭或者添加一個新的自定義頭部字段。例如,你或許想要重寫“HOST”字段來測試一個負載均衡,或者通過重寫"User-Agent"字符串來假冒特定浏覽器以解決一些訪問限制的問題。
為了解決所有這些問題,curl提供了一個簡單的方法來完全控制傳出HTTP請求的HTTP頭。你需要的這個參數是“-H” 或者 “--header”。
為了定義多個HTTP頭部字段,"-H"選項可以在curl命令中被多次指定。
例如:以下命令設置了3個HTTP頭部字段。也就是說,重寫了“HOST”字段,並且添加了兩個字段("Accept-Language" 和 "Cookie")
對於"User-Agent", "Cookie", "Host"這類標准的HTTP頭部字段,通常會有另外一種設置方法。curl命令提供了特定的選項來對這些頭部字段進行設置:
例如,以下兩個命令是等效的。這兩個命令同樣都對HTTP頭的"User-Agent"字符串進行了更改。
wget是另外一個類似於curl,可以用來獲取URL的命令行工具。並且wget也一樣允許你使用一個自定義的HTTP頭。點擊這裡查看wget命令的詳細信息。
Ubuntu 用戶安裝下載器 cURL 7.36.0 http://www.linuxidc.com/Linux/2014-05/102269.htm
Linux curl使用簡單介紹 http://www.linuxidc.com/Linux/2008-01/10891.htm
Unix下Curl的使用方法及常用功能記錄分享 http://www.linuxidc.com/Linux/2012-08/69154.htm
curl命令使用 http://www.linuxidc.com/Linux/2014-09/107018.htm