首页 > 解决方案 > C# httpclient 请求大小/带宽

问题描述

基本上我正在使用 HttpClient 发送一个 http post 请求,但是 kb 的总响应大约是 60kb,但是我只需要读取响应 url 来确定结果,无论如何我可以只读取响应 url 而不是整个数据?

我当前使用的代码示例

            string URI = "example.com";
            var client = new HttpClient();
            var response = await client.PostAsync(URI);

            var content = await response.Content.ReadAsStringAsync();
            string source = content.ToString();

            return source;

这样做是返回“ Example.com ”的正文内容,但后来我意识到我不需要读取字符串的正文内容来确定结果,而只需获取响应 url。

如果我能够在不接收正文内容或其他内容的情况下接收发布请求的响应 url,我认为这将大大减少请求的大小。

标签: c#dotnet-httpclient

解决方案


尝试使用HttpCompletionOption适当的SendAsync方法重载并重写您的代码,例如

var request = new HttpRequestMessage(HttpMethod.Post, url);
var response = await _client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

推荐阅读