如何为 HttpHeader 设置分隔符

本文关键字:设置 分隔符 HttpHeader | 更新日期: 2023-09-27 18:35:02

在我的WebApi应用程序中,当多个标头具有相同的名称时,是否可以获取原始数据?

当传入多个具有相同名称的 Http 标头时,它们会用", "作为分隔符连接。System.Net.Http.Headers手下的HttpHeaders阶级似乎是罪魁祸首。

我的一些标题包含逗号,因此使用逗号作为分隔符并不理想。

我想将分隔符更改为不太常见的(我选择的(,或者能够在连接之前访问这些值。

有什么想法吗?

提前谢谢。

如何为 HttpHeader 设置分隔符

仔细检查规范,看起来逗号是一个保留字符,用于在同一字段名称下指定多个标头字段值:http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

具有相同字段名称的多个邮件头字段可能是 存在于消息中当且仅当该消息的整个字段值 标头字段定义为逗号分隔的列表 [即 #(值(]。 必须能够将多个标头字段合并为一个 "字段名称:字段值"对,而不更改 消息,通过将每个后续字段值附加到第一个字段值,每个 用逗号分隔。具有相同标题字段的顺序 因此,收到的字段名称对解释具有重要意义 组合字段值,因此代理不得更改 转发消息时这些字段值的顺序。