Linux中國

Linux有問必答:如何在curl中設置自定義的HTTP頭

在一些個例中,或許你想要在一個HTTP請求中覆蓋掉默認的HTTP頭或者添加一個新的自定義頭部欄位。例如,你或許想要重寫「HOST」欄位來測試一個負載均衡,或者通過重寫"User-Agent"字元串來假冒特定瀏覽器以解決一些訪問限制的問題。

為了解決所有這些問題,curl提供了一個簡單的方法來完全控制傳出HTTP請求的HTTP頭。你需要的這個參數是「-H」 或者 「--header」。

為了定義多個HTTP頭部欄位,"-H"選項可以在curl命令中被多次指定。

例如:以下命令設置了3個HTTP頭部欄位。也就是說,重寫了「HOST」欄位,並且添加了兩個欄位("Accept-Language" 和 "Cookie")

$ curl -H 'Host: 157.166.226.25' -H 'Accept-Language: es' -H 'Cookie: ID=1234' http://cnn.com

對於"User-Agent", "Cookie", "Host"這類標準的HTTP頭部欄位,通常會有另外一種設置方法。curl命令提供了特定的選項來對這些頭部欄位進行設置:

  • -A (or --user-agent): 設置 "User-Agent" 欄位.
  • -b (or --cookie): 設置 "Cookie" 欄位.
  • -e (or --referer): 設置 "Referer" 欄位.

例如,以下兩個命令是等效的。這兩個命令同樣都對HTTP頭的"User-Agent"字元串進行了更改。

$ curl -H "User-Agent: my browser" http://cnn.com
$ curl -A "my browser" http://cnn.com

wget是另外一個類似於curl,可以用來獲取URL的命令行工具。並且wget也一樣允許你使用一個自定義的HTTP頭。點擊這裡查看wget命令的詳細信息。

via: http://ask.xmodulo.com/custom-http-header-curl.html

譯者:Ping 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國