我的 Go 應用程序正在嘗試修改(添加/刪除)傳入的請求/響應標頭。我想添加具有相同名稱和不同值的多個標頭。但是,我不明白這怎么可能,因為來自請求/響應對象的http Header對象是一個映射,因此不允許重復的鍵。有沒有辦法做到這一點?示例:我想添加 2 個帶有鍵標頭的標頭 1name=header1value=["value1","value2"]生成的標頭應為header1="value1"header1="value2"而不是header1="value1,value2"
2 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
一個 http.標頭是字符串切片的映射。切片元素表示由映射鍵命名的標題的不同值。
使用 Header.Add 為給定標頭添加多個值。
h.Add("Header1", "value1")
h.Add("Header1", "value2")
標頭將作為以下內容寫入網絡:
Header1: value1
Header1: value2
另一種方法是直接設置 map 元素:
h["Header1"] = []string{"value1", "value2"}

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
根據您的問題,您并不完全清楚自己想要什么,因為您聲稱想要的輸出根本不是有效的標頭。
但我可以告訴你的是,使用標準包,你的輸出將是:net/http
Header1: value1
Header1: value2
在操場上看到它。
請注意,根據 HTTP 規(guī)范,這完全等效于:
Header1: value1, value2
- 2 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消