HttpClient 没有 return Content-Type
HttpClient does not return Content-Type
我正在使用 HttpClient
发送请求。服务器 return 两个 headers 我想要 return 给客户端。我 运行 是这样的:
using (var client = new HttpClient())
{
var response = await client.GetAsync(DownloadUri + $"?path={path}&fileName={fileName}");
// ...
}
但在客户端我有 10 个 headers,而服务器发送 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
这就是我通过外部 Rest 客户端获得的结果:
Content-Type
和 Content-Disposition
缺失。
我怎样才能用 HttpClient
得到它?
您应该查看 response.Content.Headers
您应该在此处找到与内容相关的 header。有关所有内容 header 类型的更多信息,请参见下面的 msdn link。
https://msdn.microsoft.com/en-us/library/system.net.http.headers.httpcontentheaders(v=vs.118).aspx
Content_type 是内容 Headers 的一部分。所以你应该使用:
response.Content.Headers;
HttpResponseMessage response = await client.SendAsync(request);
String sContentType = response.Content.Headers.ContentType.MediaType;
Console.WriteLine($"Response ContentType: {sContentType}");
//
// Response ContentType: application/json
我正在使用 HttpClient
发送请求。服务器 return 两个 headers 我想要 return 给客户端。我 运行 是这样的:
using (var client = new HttpClient())
{
var response = await client.GetAsync(DownloadUri + $"?path={path}&fileName={fileName}");
// ...
}
但在客户端我有 10 个 headers,而服务器发送 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
这就是我通过外部 Rest 客户端获得的结果:
Content-Type
和 Content-Disposition
缺失。
我怎样才能用 HttpClient
得到它?
您应该查看 response.Content.Headers
您应该在此处找到与内容相关的 header。有关所有内容 header 类型的更多信息,请参见下面的 msdn link。
https://msdn.microsoft.com/en-us/library/system.net.http.headers.httpcontentheaders(v=vs.118).aspx
Content_type 是内容 Headers 的一部分。所以你应该使用:
response.Content.Headers;
HttpResponseMessage response = await client.SendAsync(request);
String sContentType = response.Content.Headers.ContentType.MediaType;
Console.WriteLine($"Response ContentType: {sContentType}");
//
// Response ContentType: application/json