Câu trả lời:
Các Header
lĩnh vực Yêu cầu là công khai. Bạn có thể làm điều này:
req.Header.Set("name", "value")
Hãy chú ý rằng không thể đặt tiêu đề "Máy chủ" trong http.Request thông qua Set
phương thức
req.Header.Set("Host", "domain.tld")
nhưng có thể được đặt trực tiếp:
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)
Gói net / http của Go có nhiều chức năng xử lý các tiêu đề . Trong số đó có các phương thức Add , Del , Get và Set . Cách sử dụng Set là:
func yourHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("header_name", "header_value")
}
r *http.Request
và trả lại một cái gì đó trong w http.ResponseWriter
. Vì vậy, có lẽ bởi vì bạn đang trả lại tiêu đề, bạn cần phải viết chúng trong một nhà văn phản hồi. Và w
là một nhà văn phản ứng. Điều này có vẻ hợp lý với bạn?