답변:
http.Request 헤더에서 "Host"는 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 패키지에는 headers를 다루는 많은 기능이 있습니다 . 그중에는 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
응답 작가입니다. 이것이 당신에게 논리적으로 보입니까?