我目前正在创建一个HttpRequestMessage并使用它发出请求。我有一组标题要添加到请求消息中。
我遍历这些标题并使用
将它们添加到请求中message.Headers.Add(header, values);
然而,作为我测试的一部分,我发现我偶尔会抛出以下错误(例如,使用Content-Length或Content-Type)。
未使用的标题名称。确保使用请求标头 HttpRequestMessage,带有HttpResponseMessage的响应头,以及 带有HttpContent对象的内容标题。
我使用反编译器来查看HttpContentHeaders和HttpRequestHeaders,它们都有一个内部静态方法,用一个已知标题列表填充HashSet,例如。
internal static void AddKnownHeaders(HashSet<string> headerSet)
{
headerSet.Add("Allow");
headerSet.Add("Content-Disposition");
headerSet.Add("Content-Encoding");
// snip...
}
有没有办法访问每种类型(内容,请求)的已知/允许标头?反思是一种选择,但我想知道是否有另一种方法可以知道在哪里添加标题?