System.Net.Http 中的 post 请求是否有 HTTP 完成选项?

Is there a HTTP Completion Option for a post request in System.Net.Http?

我想发送一个 post 请求,但为了加快速度而不是下载整个页面,只下载头部(或内容的一些较小部分)。我知道有一种方法可以通过获取请求来执行此操作,但我需要通过 post 请求来执行此操作。 我正在使用 C# 和 System.Net.Http 进行编程。但是,如果有必要,我愿意使用另一个库。

这里是get请求如何只能下载headers:

var request = new HttpRequestMessage(HttpMethod.Get, url);
var getTask = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

这是我当前的代码:

var response = await client.PostAsync(url, content);
var responseString = await response.Content.ReadAsStringAsync();
 HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Head, "your url");
 httpClient.SendAsync(httpRequestMessage);

您可以在第一个示例中将 HttpMethod.Get 更改为 HttpMethod.Post,然后分配给 request.Content:

var request = new HttpRequestMessage(HttpMethod.Post, url)
{
    Content = content,
};
var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

当然,调用response.Content.ReadAsStringAsync()否定了使用HttpCompletionOption.ResponseHeadersRead的意义。