2

我在 Windows 8 应用程序中使用 HttpClient,它似乎故意在响应中隐藏自定义标头。例如:

我们收到的响应有一个名为“Sample-Header: 123”的自定义标头

我希望响应内容中的标头包含值为“123”的“Sample-Header”

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();
}

即使我枚举了标题,我也永远找不到我们的自定义标题。

4

1 回答 1

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。

于 2012-09-27T01:36:50.140 回答