C#HttpClient在使用远程代理时超时,但在使用上游链接到同一远程代理

时间:2017-03-17 14:54:48

标签: c# fiddler dotnet-httpclient

我试图通过代理使用HttpClient:

var httpClientHandler = new HttpClientHandler {UseProxy = true, Proxy = new WebProxy("xxx.xxx.xxx.xxx:6762")};
var httpClient = new HttpClient(httpClientHandler) {Timeout = TimeSpan.FromSeconds(3)};

在代码中定义了3秒超时时,通过此httpClient发送的请求超时。通过实验,我发现我需要将超时设置为至少30秒才能完成请求。所以你认为代理只是慢,对吧?

除了:如果我在本地运行Fiddler并将httpClientHandler设置为使用" localhost:8888" (Fiddler的端口)然后依次连接Fiddler以使用上游的SAME代理(如下图所示),请求几乎立即回来。

什么可以解释这种行为?

Fiddler upstream proxy configuration

编辑:我还应该提一下,我在看到这种行为时所做的请求都是HTTPS。我知道Fiddler会将自己的证书插入到证书路径中,所以也许这只是解释的一部分,但我知识不足以将所有部分放在一起。

0 个答案:

没有答案
相关问题