gpt4 book ai didi

c# - 是什么导致 HttpClient 中的 "WinHttpException: The server returned an invalid or unrecognized response"?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:28 25 4
gpt4 key购买 nike

问题:

我正在尝试使用 Bugzilla 的 REST API 从远程 Bugzilla 服务器访问数据。每当我等待来自 HttpClient.GetAsync 的响应时,这 exception被抛出。

我尝试了什么:

为了理解异常,我调查了以下 SO 问题和 GitHub 问题:

核心代码:

下面代码的目的是获取位于 _url_version 的服务器的 Bugzilla 版本。例如,如果我设置 _url_version = "https://bugzilla.mozilla.org/rest/version",我会得到一个有效的 response。 .

// Get version, dummy test to ensure REST API is working via http requests
public async Task<string> GetVersion()
{
using (var client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(_url_version);
string json = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<Rootobject>(json).version;
}
}

问题:

这个异常是什么意思?什么可能导致我的应用程序和远程 Bugzilla 服务器之间的通信中断?

最佳答案

在做了一些挖掘之后,我能够通过将 Bugzilla 更新到 5.0.4 来解决这个问题。

根本原因:

通过使用 Curl ,我能够手动检查来自 Http 响应 (here) 的 header 。异常是由响应中的噪声引起的:

Bugzilla.pm:sysread() 在 :utf8 句柄上已弃用。这将是位于 C:/... 的 Perl 5.30 中的 fatal error

出于某种原因,perl 模块的这个问题在服务器端得到回应。

解决方案:

根据Bugzilla 5.0.4 release notes ,问题已解决。我更新了我的 Bugzilla 安装,REST API 按预期工作。

希望这对外面的人有帮助!

关于c# - 是什么导致 HttpClient 中的 "WinHttpException: The server returned an invalid or unrecognized response"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49238135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com