第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Golang 將 http.Header 轉(zhuǎn)化為數(shù)組

Golang 將 http.Header 轉(zhuǎn)化為數(shù)組

Go
Qyouu 2021-12-20 10:42:53
我正在發(fā)送 POST 請(qǐng)求:req, err := http.NewRequest("POST", link, bytes.NewBuffer(jsonStr))client := &http.Client{Timeout: tm}resp, err := client.Do(req)我收到resp.Header的格式與類型http.Header我需要這樣的東西:[    "Server: nginx/1.4.4",    "Date: Wed, 24 Feb 2016 19:09:49 GMT"]我不知道如何處理這個(gè)問(wèn)題,因?yàn)槲也恢廊绾翁幚韍ttp.Header數(shù)據(jù)類型。有人可以幫忙嗎
查看完整描述

3 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

resp.Header是 類型http.Header。您可以在文檔中看到該類型也是 a map,因此您可以通過(guò)兩種不同的方式訪問(wèn)它:


1) 通過(guò) usinghttp.Header的方法:


serverValue := resp.Header().Get("Server")

dataValue := resp.Header().Get("Date")

如果標(biāo)頭存在,您將獲得它的第一個(gè)值(請(qǐng)記住,單個(gè)標(biāo)頭名稱可能有多個(gè)值);否則你會(huì)得到一個(gè)空字符串。


2) 通過(guò) usingmap的方法:


serverValue, ok := resp.Header()["Server"]

dataValue, ok := resp.Header()["Date"]

如果標(biāo)頭存在,ok將會(huì)是true(即標(biāo)頭存在)并且您將獲得包含該標(biāo)頭的所有值的一段字符串;否則,ok將是false(即標(biāo)題不存在)。


使用您喜歡的任何方法。


如果您需要遍歷所有標(biāo)頭值,您可以使用以下方法:


for name, value := range resp.Header() {

    fmt.Printf("%v: %v\n", name, value)

}


查看完整回答
反對(duì) 回復(fù) 2021-12-20
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

你可以使用這樣的函數(shù):


func HeaderToArray(header http.Header) (res []string) {

    for name, values := range header {

        for _, value := range values {

            res = append(res, fmt.Sprintf("%s: %s", name, value))

        }

    }

    return

}

它應(yīng)該返回一個(gè)你想要的數(shù)組。


查看完整回答
反對(duì) 回復(fù) 2021-12-20
?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

此解決方案適用于go version go1.13 windows/amd64.

來(lái)自http.Request包含Header對(duì)象的請(qǐng)求對(duì)象。我們?cè)趎et/http這里使用包。您可以使用以下方法按名稱獲取所有標(biāo)題的值:


import(

    "net/http"

)


type RequestHeaders struct {

    ContentType      string      `json: "content-type"`

    Authorization    string      `json: "authorization"`

}


func getHeaders(r *http.Request) RequestHeaders {

        contentType := r.Header.Get("Content-Type")

        authorization := r.Header.Get("Authorization")

        headers := RequestHeaders{

                        Content-Type: contentType,

                        Authorization: authorization}

        return headers

}

您可以看到我們正在使用r.Header.Get("Content-Type")方法來(lái)獲取標(biāo)頭的值。


如果標(biāo)題丟失,該Get()方法將返回空字符串。


查看完整回答
反對(duì) 回復(fù) 2021-12-20
  • 3 回答
  • 0 關(guān)注
  • 392 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)