如何在http get请求中设置头?

如何在http get请求中设置头?,http,go,Http,Go,我正在做一个简单的http登录: client := &http.Client{} req, _ := http.NewRequest("GET", url, nil) res, _ := client.Do(req) 但是我无法在中找到自定义请求头的方法,谢谢,请求的头字段是公共的。您可以这样做: req.Header.Set("name", "value") Go的net/http包有很多功能。其中有,方法,。使用Set的方法是: func yourHandler(w http.

我正在做一个简单的http登录:

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

但是我无法在中找到自定义请求头的方法,谢谢,请求的
字段是公共的。您可以这样做:

req.Header.Set("name", "value")

Go的net/http包有很多功能。其中有,方法,。使用Set的方法是:

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

请注意,在http.Request标头中,不能通过
set
方法设置“Host”

req.Header.Set(“主机”、“域.tld”)

但可以直接设置:

req.Host=“domain.tld”


w是什么类型?@EswarYaganti您是如何发送标题的?您得到一个
r*http.Request
并返回
whttp.ResponseWriter
中的内容。因此,可能是因为要返回标题,所以需要在响应编写器中编写它们。而
w
是一个响应编写器。这看起来合乎逻辑吗?原始海报上说他想“定制请求头”。您的示例自定义响应标题。救生答案!!
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)