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字段。