Câu trả lời:
Các Headerlĩ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 Setphươ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.Requestvà 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à wlà một nhà văn phản ứng. Điều này có vẻ hợp lý với bạn?