当实际响应长度与Content-Length标头不匹配时,HttpClient出现 "响应过早结束 "的异常。

2 人关注

当实际的响应长度小于Content-Length头时,我怎样才能修复HttpClient异常

响应过早结束,预计至少有4508个额外的字节。

响应过早结束,预计至少还有783个字节。

我通过逐个读取响应内容的字符来解决这个异常,直到异常发生。

var response = await client.SendAsync(requestMessage, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false);
var stream = await response.Content.ReadAsStreamAsync();
using var streamReader = new StreamReader(stream);
var content = "";
        content += (char)streamReader.Read();
    while (!streamReader.EndOfStream);
catch (Exception ex)