在 HttpClient 中设置 HTTP 协议版本
Set HTTP protocol version in HttpClient
我需要向使用 HTTP 1.0 版的网络服务发出请求。我正在使用 HttpClient
,但我看不到任何设置 HTTP 版本的选项。
在哪里可以设置请求版本?
HTTP 版本在每个请求中作为 header 发送,因此它在 System.Net.Http.HttpClient 发送的消息中设置:参见 ProtocolVersion property of the HttpWebRequest class。
为了设置版本,您必须创建 HttpRequestMessage
and set its Version
property which you pass to HttpClient.SendAsync
的实例。您可以使用助手 HttpVersion
实用程序 class:
var requestMessage = new HttpRequestMessage
{
Version = HttpVersion.Version10
};
var client = new HttpClient();
var response = await client.SendAsync(requestMessage);
我需要向使用 HTTP 1.0 版的网络服务发出请求。我正在使用 HttpClient
,但我看不到任何设置 HTTP 版本的选项。
在哪里可以设置请求版本?
HTTP 版本在每个请求中作为 header 发送,因此它在 System.Net.Http.HttpClient 发送的消息中设置:参见 ProtocolVersion property of the HttpWebRequest class。
为了设置版本,您必须创建 HttpRequestMessage
and set its Version
property which you pass to HttpClient.SendAsync
的实例。您可以使用助手 HttpVersion
实用程序 class:
var requestMessage = new HttpRequestMessage
{
Version = HttpVersion.Version10
};
var client = new HttpClient();
var response = await client.SendAsync(requestMessage);