我想為 params 數(shù)組中的每個參數(shù)發(fā)出 get 請求。網(wǎng)址是靜態(tài)的。有沒有辦法為每次迭代重用我的自定義 http 客戶端?我不想為每個請求重置標(biāo)頭。理想情況下,我想client.Do(param)為每次迭代做類似的事情。client := &http.Client{}for _, param := range params { uri := url + param req, err := http.NewRequest(http.MethodGet, uri, nil) req.Header.Add("Cookie", cookie) resp, _ := client.Do(req) defer resp.Body.Close() // do something...}
1 回答

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
我認(rèn)為您只想保留 cookie,而不必在每個請求上設(shè)置它?如果是這種情況,您可以這樣做:
import (
"net/http"
"net/http/cookiejar"
"golang.org/x/net/publicsuffix"
)
// All users of cookiejar should import "golang.org/x/net/publicsuffix"
cookieJar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
if err != nil {
panic(err)
}
var cookies []*http.Cookie
cookies = append(cookies, cookie)
u, err := url.Parse("http://whateversite.com")
if err != nil {
panic(err)
}
jar.SetCookies(u, cookies)
client := &http.Client{
Jar: cookieJar,
}
- 1 回答
- 0 關(guān)注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消