web-dev-qa-db-ja.com

HTTP GETリクエストでヘッダーを設定する方法は?

私はGoで簡単なhttp GETをやっています:

client := &http.Client{}
req, _ := http.NewRequest("GET", url, nil)
res, _ := client.Do(req)

しかし、 doc にリクエストヘッダーをカスタマイズする方法が見つかりません、ありがとう

114
wong2

リクエストのHeaderフィールドはパブリックです。これを行うことができます:

req.Header.Set("name", "value")
184
Denys Séguret

Http.Requestヘッダーの「ホスト」はSetメソッドで設定できないことに注意してください

req.Header.Set("Host", "domain.tld")

ただし、直接設定できます。

req.Host = "domain.tld"

req, err := http.NewRequest("GET", "http://10.0.0.1/", nil)
if err != nil {
    ...
}

req.Host = "domain.tld"
client := &http.Client{}
resp, err := client.Do(req)
24
Oleg Neumyvakin

Goのnet/httpパッケージには、多くの ヘッダーを処理する関数 があります。その中には AddDelGet 、および Set メソッドがあります。 Setの使用方法は次のとおりです。

func yourHandler(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("header_name", "header_value")
}
0
Salvador Dali