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

C. *_*ang 1 c# httprequest

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

以下是get请求只能下载标头的方式:

var request = new HttpRequestMessage(HttpMethod.Get, url);
var getTask = client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
Run Code Online (Sandbox Code Playgroud)

这是我当前的代码:

var response = await client.PostAsync(url, content);
var responseString = await response.Content.ReadAsStringAsync();
Run Code Online (Sandbox Code Playgroud)

can*_*on7 5

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

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

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