为了账号安全,请及时绑定邮箱和手机立即绑定

重用 Go http 客户端

重用 Go http 客户端

Go
LEATH 2022-06-21 16:37:32
我想为 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...}
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

我认为您只想保留 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.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,

}


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信