HTTPGET https://localhost/ 时绕过代理

Bypass proxy when HTTPGET https://localhost/

我有一个 asp.net 核心 3.1 网络服务器,我 运行 来自 Visual studio 2019 (Ctrl+F5)。它有一个 HTTP GET 端点,我可以在 VS Code 中使用 REST 客户端成功调用它:

GET https://localhost:5001/api/myResource

然后我尝试开发一个服务工作者(也是 .net 核心 3.1),我从控制台 运行 调用相同的资源。 像这样..

httpClient = new HttpClient();
var responseHTTP = await httpClient.GetAsync("https://localhost:5001/api/myResource");

然后我得到的响应是来自我公司代理的错误消息(声明禁止访问 bla bla bla)以及实际发布的地址(响应内容的一部分):

While trying to retrieve the URL: localhost.mycompany.com:5001

因此添加了

mycompany.com

到我在 httpClient.GetAsync()

中提供的地址

我已尝试在 windows 设置中禁用代理(包括删除环境变量)并重新启动控制台和本地网络服务器。但它仍然通过代理(或者我从代理那里得到相同的禁止答案)。有没有办法绕过代理?我看过的所有问题和答案都是相反的,让httpClient使用代理。

如果您的 HttpClient 从系统设置中获取它,您可以使用类似这样的方法来禁用系统代理:

var handler = new HttpClientHandler() { UseProxy = false }; 
httpClient = new HttpClient(handler);