我发送了HttpClient
的请求。服务器返回两个我想要返回客户端的标头。我这样运行:
using (var client = new HttpClient())
{
var response = await client.GetAsync(DownloadUri + $"?path={path}&fileName={fileName}");
// ...
}
但在客户端我有10个标题,而服务器发送12个。
这是我在response.Headers.ToString()
的调试器中得到的:
Transfer-Encoding: chunked
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcQWxleFxEb2N1bWVudHNcdGZzXFVDRktcdnNuXGRldlxMYW5pdC5VQ0ZLLkZpbGUuU2VydmVyXEZpbGUuc3ZjXERvd25sb2Fk?=
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Credentials: true
Cache-Control: private
Date: Mon, 06 Jun 2016 12:19:09 GMT
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Type
和Content-Disposition
丢失了。
如何使用HttpClient
获取它?
答案 0 :(得分:3)
您应该查看response.Content.Headers
您应该在此处找到与内容相关的标题。有关所有内容标题类型的更多信息可以在下面的msdn链接中找到。
https://msdn.microsoft.com/en-us/library/system.net.http.headers.httpcontentheaders(v=vs.118).aspx
答案 1 :(得分:3)
Content_type是内容标题的一部分。所以你应该使用:
response.Content.Headers;
答案 2 :(得分:0)
HttpResponseMessage response = await client.SendAsync(request);
String sContentType = response.Content.Headers.ContentType.MediaType;
Console.WriteLine($"Response ContentType: {sContentType}");
//
// Response ContentType: application/json