在 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);