重用 Go http 客户端

我想为 params 数组中的每个参数发出 get 请求。网址是静态的。有没有办法为每次迭代重用我的自定义 http 客户端?我不想为每个请求重置标头。理想情况下,我想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...

}


LEATH
浏览 123回答 1
1回答

侃侃无极

我认为您只想保留 cookie,而不必在每个请求上设置它?如果是这种情况,您可以这样做: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.Cookiecookies = append(cookies, cookie)u, err := url.Parse("http://whateversite.com")if err != nil {    panic(err)}jar.SetCookies(u, cookies)client := &http.Client{    Jar: cookieJar,}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go