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);
我有一个 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);