作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想遍历 HttpRequestMessage
的 HttpRequestHeaders
的所有 header 。
我只是将我的代码从 HttpWebRequest
迁移到 HttpClient
。使用 HttpWebRequest
我使用以下代码循环其 WebHeaderCollection
:
StringBuilder headers_ = new StringBuilder();
foreach (string key in headers.AllKeys)
{
headers_.Append(key).Append(':').Append(headers[key]).Append(' ');
}
headers_.Length--;
但是 HttpRequestHeaders
没有 AllKeys 方法。它只有 GetValues(string name)
只检索一个指定的 header 。
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")
}
如何以编程方式从 requestMessage
检索成对的 { "header1", "aa"}, { "header2", "bb"}?
最佳答案
好吧,它比我预期的要简单。
foreach (var header in httpRequestMessage.Headers)
{
string headerName = header.Key;
string headerContent = string.Join(",", header.Value.ToArray());
}
关于c#如何循环遍历HttpRequestHeaders的所有 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53689908/
我是一名优秀的程序员,十分优秀!