Ответы:
Header
Поле запроса является общедоступным. Вы можете сделать это:
req.Header.Set("name", "value")
Обратите внимание, что в 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)
Пакет go / net / http имеет много функций, которые работают с заголовками . Среди них есть методы Add , Del , Get и Set . Способ использования Set:
func yourHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("header_name", "header_value")
}
r *http.Request
и возвращает что-то обратно w http.ResponseWriter
. Поэтому, вероятно, поскольку вы возвращаете заголовки, вам нужно записать их в средство записи ответов. И w
является автором ответа. Это выглядит логичным для вас?