我在Windows 8应用程序中使用HttpClient,它似乎故意在响应中隐藏自定义标头。例如:
我们收到的回复有一个名为“Sample-Header:123”的自定义标题
我希望响应内容中的标头包含“Sample-Header”,其值为“123”
var client = new HttpClient();
var response = await client.GetAsync(uri);
string sample;
IEnumerable<string> values;
if (response.Content.Headers.TryGetValues("Sample-Header", out values))
{
// This never happens!
sample = values.First();
}
即使我通过标题枚举,我也永远找不到我们的自定义标题。
答案 0 :(得分:4)
确定。显然,您可以使用两种不同的标头集合。以下代码有效:
var client = new HttpClient();
var response = await client.GetAsync(uri);
string sample;
IEnumerable<string> values;
if (response.Headers.TryGetValues("Sample-Header", out values))
{
// This happens!
sample = values.First();
}
你看到了区别吗?内容标头与响应标头完全不同。
感谢微软的Govind。