Robię prosty http GET in Go:
client := &http.Client{}
req, _ := http.NewRequest("GET", url, nil)
res, _ := client.Do(req)
Ale nie mogę znaleźć sposobu na dostosowanie nagłówka żądania w dokumencie , dzięki
Robię prosty http GET in Go:
client := &http.Client{}
req, _ := http.NewRequest("GET", url, nil)
res, _ := client.Do(req)
Ale nie mogę znaleźć sposobu na dostosowanie nagłówka żądania w dokumencie , dzięki
Odpowiedzi:
Header
Pole Request jest publiczna. Możesz to zrobić:
req.Header.Set("name", "value")
Zwróć uwagę, że w nagłówku http.Request „Host” nie można ustawić Set
metodą
req.Header.Set("Host", "domain.tld")
ale można ustawić bezpośrednio:
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)
Pakiet net / http Go ma wiele funkcji, które zajmują się nagłówkami . Wśród nich są metody Add , Del , Get i Set . Sposób użycia Seta to:
func yourHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("header_name", "header_value")
}
r *http.Request
i zwracasz coś w w http.ResponseWriter
. Więc prawdopodobnie dlatego, że zwracasz nagłówki, musisz zapisać je w module zapisującym odpowiedzi. I w
jest autorem odpowiedzi. Czy wydaje ci się to logiczne?