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