2012-10-12 42 views

回答

97

請求的Header場是公開的。你可以這樣做:

req.Header.Set("name", "value") 
0

去的淨/ http包有很多functions that deal with headers。其中有AddDelGetSet方法。要設置使用的方法是:

func yourHandler(w http.ResponseWriter, r *http.Request) { 
    w.Header().Set("header_name", "header_value") 
} 
+6

什麼類型是w? –

+0

@EswarYaganti你是如何發送的頭?你得到一個'R * http.Request'並返回在'w^http.ResponseWriter'東西。所以可能是因爲你正在返回頭文件,你需要將它們寫在響應編寫器中。 'w'是一個迴應作家。這看起來合乎邏輯嗎? –

6

注重在http.Request頭「主機」無法通過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" 

resp, err := http.Client.Do(req)