1 回答
TA贡献1809条经验 获得超8个赞
如果你想从 HTTP 请求中读取 cookie,你可以使用Cookies
方法来完成。例子:
func Readcookie() {
resp, err := http.Get(serverName + serverPort + "readcookie")
if err != nil {
log.Fatalln(err)
}
for _, cookie := range resp.Cookies() {
if cookie.Name == "SessionID" {
log.Println("Cookie: ", cookie.Value)
}
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalln(err)
}
log.Println(string(body))
}
为了实现跨后续 HTTP 请求的会话管理的更大目标,只需在 HTTP 客户端上实例化一个 cookie jar。例子:
var client *http.Client
func init() {
jar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
if err != nil {
panic(err)
}
client = &http.Client{Jar: jar}
}
然后为您的后续请求使用此客户端(而不是默认客户端):
func Readcookie() {
resp, err := client.Get(serverName + serverPort + "readcookie")
if err != nil {
log.Fatalln(err)
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalln(err)
}
log.Println(string(body))
}
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报