亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法通過 net/http 調用獲取整個標頭元素

無法通過 net/http 調用獲取整個標頭元素

Go
皈依舞 2022-06-27 15:23:13
我想獲得一個名為 Set-Cookie 的標頭元素,它位于身份驗證服務的響應中。我進行 http 調用以從遠程服務器獲取數據:resp, err := client.Do(httpRequest)登錄后,響應如下:fmt.Println(resp.Header)// the result is:// map[Cache-Control:[private] Content-Length:[0] Content-Security-Policy:[frame-ancestors 'self'] Date:[Tue, 01 Sep 2020 06:44:02 GMT] Expires:[0] Pragma:[no-cache] Set-Cookie:[sg-dummy=-; path=/; HttpOnly sg-auth-XXXX=4a49891d-2c46-4f50-a516-68a2e337f2a7; path=/; HttpOnly] X-Frame-Options:[SAMEORIGIN] X-Xss-Protection:[1; mode=block]]我想要這個元素:Set-Cookie:[sg-dummy=-; path=/; HttpOnly sg-auth-XXXX=4a49891d-2c46-4f50-a516-68a2e337f2a7; path=/; HttpOnly]但是,一旦我得到那部分,我就會看到一個經過編輯的 Set-Cookie 字符串:fmt.Println(resp.Header.Get("Set-Cookie")// I get this part only:// sg-dummy=-; path=/; HttpOnly我應該如何得到所有的東西?
查看完整描述

2 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

似乎有多個 cookie。Header.Get如果標題有多個元素,則只會返回第一個元素。作為地圖訪問它:


for _,cookie:=range resp.Header["Set-Cookie"] {

   // This should iterate twice

}


查看完整回答
反對 回復 2022-06-27
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

標頭可以具有與給定鍵關聯的多個值。在您的示例中就是這種情況。

Header.Get僅返回與給定鍵關聯的第一個值:

Get 獲取與給定鍵關聯的第一個值。如果沒有與鍵關聯的值,Get 返回“”。

相反,您需要使用Header.Values來返回所有這些:

Values 返回與給定鍵關聯的所有值。

fmt.Println(resp.Header.Values("Set-Cookie"))

我建議閱讀您使用的功能的文檔。


查看完整回答
反對 回復 2022-06-27
  • 2 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號