gpt4 book ai didi

go - 重用Go http客户端

转载 作者:行者123 更新时间:2023-12-01 22:42:30 25 4
gpt4 key购买 nike

我想对params数组中的每个param进行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...
}

最佳答案

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

关于go - 重用Go http客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63306656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com