Go语言教程之边写边学:如何读取HTTP请求中的cookie
要在Go中使用HTTP客户端读取HTTP请求中的cookie,可以使用http.Response结构的Cookies() 方法。
下面是一个示例:
client := &http.Client{
Transport: &http.Transport{},
}
req, err := http.NewRequest("GET", "https://www.example.com", nil)
if err != nil {
// handle error
}
resp, err := client.Do(req)
if err != nil {
// handle error
}
defer resp.Body.Close()
cookies := resp.Cookies()
for _, cookie := range cookies {
fmt.Printf("Cookie: %s=%s\n", cookie.Name, cookie.Value)
}
在此示例中,http.Client是使用http.Transport创建的,响应存储在resp变量中。然后在http上调用Cookies() 方法。用于从Response对象中获取 *http.Cookie切片的指针。
然后,使用for循环遍历切片中的每个cookie,并将cookie名称和值打印到控制台。
请注意,Cookie只能从http.Response读取。,而不是来自http.Request。如果要在后续请求中发送cookie,可以创建新的http.Cookie结构并将其添加到http.Client的Jar字段。
系列文章