1 回答

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果你想從 HTTP 請(qǐng)求中讀取 cookie,你可以使用Cookies
方法來(lái)完成。例子:
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))
}
為了實(shí)現(xiàn)跨后續(xù) HTTP 請(qǐng)求的會(huì)話管理的更大目標(biāo),只需在 HTTP 客戶端上實(shí)例化一個(gè) 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}
}
然后為您的后續(xù)請(qǐng)求使用此客戶端(而不是默認(rèn)客戶端):
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 關(guān)注
- 172 瀏覽
添加回答
舉報(bào)