为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
UYOU 2022-08-01 14:59:33
我的 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"}


查看完整回答
反对 回复 2022-08-01
?
绝地无双

TA贡献1946条经验 获得超4个赞

根据您的问题,您并不完全清楚自己想要什么,因为您声称想要的输出根本不是有效的标头。


但我可以告诉你的是,使用标准包,你的输出将是:net/http


Header1: value1

Header1: value2

在操场上看到它。


请注意,根据 HTTP 规范,这完全等效于:


Header1: value1, value2


查看完整回答
反对 回复 2022-08-01
  • 2 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信