如何添加多个具有相同名称且包含不同值的标头

我的 Go 应用程序正在尝试修改(添加/删除)传入的请求/响应标头。我想添加具有相同名称和不同值的多个标头。但是,我不明白这怎么可能,因为来自请求/响应对象的http Header对象是一个映射,因此不允许重复的键。有没有办法做到这一点?


示例:我想添加 2 个带有键标头的标头 1


name=header1

value=["value1","value2"]

生成的标头应为


header1="value1"

header1="value2"

而不是


header1="value1,value2"


UYOU
浏览 110回答 2
2回答

函数式编程

一个 http.标头是字符串切片的映射。切片元素表示由映射键命名的标题的不同值。使用 Header.Add 为给定标头添加多个值。h.Add("Header1", "value1")h.Add("Header1", "value2")标头将作为以下内容写入网络:Header1: value1Header1: value2另一种方法是直接设置 map 元素:h["Header1"] = []string{"value1", "value2"}

绝地无双

根据您的问题,您并不完全清楚自己想要什么,因为您声称想要的输出根本不是有效的标头。但我可以告诉你的是,使用标准包,你的输出将是:net/httpHeader1: value1Header1: value2在操场上看到它。请注意,根据 HTTP 规范,这完全等效于:Header1: value1, value2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go