gpt4 book ai didi

c# - .NET Core 但不是 .NET Framework 的 400 BadRequest 响应

转载 作者:行者123 更新时间:2023-11-30 15:51:39 27 4
gpt4 key购买 nike

我有链接http://www.swensens.com.vn/#huong-vi-tinh-yeu我需要通过请求和获取 StatusCode 来验证它是否仍在工作。

就这么简单

var client = new HttpClient();
var result = await client.GetAsync(@"http://www.swensens.com.vn/#huong-vi-tinh-yeu");
Console.Write(result.StatusCode);

当我使用 .NET Core 2.1 进行测试时,它收到 400 Bad Request。我怀疑“#huong-vi-tinh-yeu”可能会导致问题,因为没有它们我收到了 200 OK。但是当我在 .NET Framework 中再次测试它时,完整链接完美地获得 200 OK,没有出现任何问题。

我还在 .NET Core 中使用第三个库(例如 Flurl、RestSharp)进行了测试,但结果只有一个有 400 Bad Request。

网站上的另一个测试https://httpstatus.io还是 200 OK 1

我想保留 .NET Core,因为我当前的 Azure Function 系统是通过 .NET Core 编写的。

那么问题是什么?

最佳答案

这是一个已知的错误。我前段时间在 Github 存储库上报告了该错误:[2.1] Redirect with location having an anchor fails in a HTTP 400 on some servers #34728

似乎这个错误是在 .NET Core 2.1 中引入的,并在 .NET Core 3 中修复。

作为临时解决方法,您可以在发出任何 HTTP 请求之前调用它,这将禁用错误代码:

AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);

关于c# - .NET Core 但不是 .NET Framework 的 400 BadRequest 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56662272/

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