Antworten:
Das Header
Feld der Anfrage ist öffentlich. Sie können dies tun:
req.Header.Set("name", "value")
Beachten Sie, dass im http.Request-Header "Host" nicht über die Set
Methode gesetzt werden kann
req.Header.Set("Host", "domain.tld")
kann aber direkt eingestellt werden:
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)
Das net / http-Paket von Go verfügt über viele Funktionen, die sich mit Headern befassen . Darunter befinden sich die Methoden Add , Del , Get und Set . Die Verwendung von Set ist:
func yourHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("header_name", "header_value")
}
r *http.Request
und gibt etwas zurück w http.ResponseWriter
. Wahrscheinlich, weil Sie Header zurückgeben, müssen Sie sie in einen Antwortschreiber schreiben. Und w
ist ein Antwortschreiber. Sieht das für Sie logisch aus?