是什么使该HTTPS WebRequest超时,即使它在浏览器中也有效?
|
这是我的要求:
var request = (HttpWebRequest) WebRequest.Create(\"https://mtgox.com/\");
request.CookieContainer = new CookieContainer();
request.AllowAutoRedirect = false;
request.Accept = \"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\";
request.Headers[HttpRequestHeader.AcceptEncoding] = \"gzip, deflate\";
request.Headers[HttpRequestHeader.AcceptLanguage] = \"en-gb,en;q=0.5\";
request.Headers[HttpRequestHeader.AcceptCharset] = \"ISO-8859-1,utf-8;q=0.7,*;q=0.7\";
request.Timeout = 5000;
request.UserAgent = \"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0\";
request.Method = \"GET\";
request.GetResponse();
标头是使用HttpFox从Firefox复制的。我使用Fiddler2来验证至少对于HTTP请求而言,Firefox请求与我的请求之间的标头完全相同。
但是,当使用HTTPS向该特定网站执行请求时,该请求只是超时。它适用于其他网站。
我必须以与Firefox不同的方式执行它,因为它始终可以在Firefox中使用。我无法使用Fiddler2对其进行调试,因为每当Fiddler2转发这些请求时,即使由Firefox发起,它们也会超时。
这是一个真正的越野车网站吗?上面哪一部分让我觉得不是Firefox?
没有找到相关结果
已邀请:
6 个回复
席陋临拈
为什么会这样,我想我永远不会知道-这些神秘事物中的一件,比我认识的人愿意花更多的时间来弄清楚... 与捕获不同的一件事是:TLS变体在Server Hello响应中具有一个“ Alert”条目,但SSL3交换以及所有实际起作用的TLS交换中都没有该条目。但是奇怪的是,在成功执行请求的Firefox捕获中也存在相同的警报。 最后,似乎是在我第一次发布此问题时,OCSP出现了暂时故障,此问题已得到解决。这增加了麻烦,但不是核心问题。
搁手
对象或
对象。默认连接限制为2。
或者,如果您在将由许多用户并发调用的Web服务中实现逻辑,则可能需要考虑增加HttpWebRequest对象中的连接限制。
埠仙俊
厢界山攀
针对.net 2.0、3.0和3.5版本进行了编译,所有这些似乎都表现出了与此处讨论的完全相同的行为。然后,我尝试针对4.0和4.5进行编译,并在两个地方均收到了正确的响应。 基于此,看来Microsoft可能已在较新的.net版本中解决了此问题。为了后代,我还测试了enverpex建议的SecurityProtocol更改,该更改在2.0、3.0和3.5上效果很好。
撕吠
街茬