我想循环遍历HttpRequestHeadersof的所有标头HttpRequestMessage。
我只是将我的代码从 迁移HttpWebRequest到HttpClient. 我使用HttpWebRequest以下代码来循环它WebHeaderCollection:
StringBuilder headers_ = new StringBuilder();
foreach (string key in headers.AllKeys)
{
headers_.Append(key).Append(':').Append(headers[key]).Append(' ');
}
headers_.Length--;
Run Code Online (Sandbox Code Playgroud)
但HttpRequestHeaders没有 AllKeys 方法。它只GetValues(string name)检索一个指定的标头。
HttpRequestMessage requestMessage = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://postman-echo.com/post"),
Headers = {
{ "header1", "aa" },
{ "header2", "bb" },
},
Content = new StringContent("hi=aa")
}
Run Code Online (Sandbox Code Playgroud)
如何以编程方式检索 { "header1", "aa" }, { "header2", "bb" } 对requestMessage?
Luk*_*741 11
好吧,这比我想象的要简单。
foreach (var header in httpRequestMessage.Headers)
{
string headerName = header.Key;
string headerContent = string.Join(",", header.Value.ToArray());
}
Run Code Online (Sandbox Code Playgroud)