Go语言教程之边写边学:如何在HTTP请求中设置cookie
要在Go中使用HTTP客户端在HTTP请求中设置cookie,您可以创建一个新的http.Cookie结构并将其添加到http.客户端的Jar字段。下面是一个示例:
cookie := &http.Cookie{
Name: "session_id",
Value: "12345",
}
client := &http.Client{
Jar: &cookiejar.Jar{},
Transport: &http.Transport{},
}
req, err := http.NewRequest("GET", "https://www.example.com", nil)
if err != nil {
// handle error
}
client.Jar.SetCookies(req.URL, []*http.Cookie{cookie})
resp, err := client.Do(req)
if err != nil {
// handle error
}
defer resp.Body.Close()
在此示例中,新的http.Cookie结构的名称为"session_id",值为"12345"。一个http.然后使用空的cookiejar和http创建客户端。
使用http.NewRequest() 函数创建请求,然后调用CookieJar将cookie添加到请求中。SetCookies() 方法采用请求的URL和 *http的切片。
最后,http.客户端的Do() 方法随请求一起调用,该方法将带有cookie的请求发送到服务器。响应存储在resp变量中,以便进一步处理。
请注意,http.Client的Jar字段用于管理cookie。默认情况下,http.client使用零cookie jar,这意味着它不会处理cookie。在此示例中,我们创建一个新的cookie jar并将其传递给http。客户端的Jar字段。这允许http.Client自动处理后续请求的cookie。
系列文章