我从HTTPS下载文件时遇到问题。服务器是第 3 方,它提供 TXT 交易数据以供下载(类似于https://blabla.dat)。使用 IP 地址进行验证(从无效 IP 得到 403 错误)。从浏览器(IE,Mozilla)下载工作完美,但从 C# 获取超时......
我试图设置
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
然后下载文件...
WebClient webClient = new WebClient();
webClient.DownloadFile(url, dest);
它适用于某些 HTTPS(例如来自 HTTPS Facebook 的图像),但不适用于我的情况。(诡异的)
我还尝试设置凭据和标题(没有变化)。
webClient.Credentials = CredentialCache.DefaultNetworkCredentials;
webClient.Proxy = WebRequest.DefaultWebProxy;
webClient.Proxy.Credentials = CredentialCache.DefaultCredentials;
webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
我怎样才能下载这个文件?像模拟 IE 请求并接受证书之类的东西???我是这类问题的新手。非常感谢!
编辑 20130903 1606
它使用 VPN 在 localhost 上完美运行(以获取服务器的 IP),但在 Windows Server 2008 R2 上没有任何作用。它有一段时间没有响应,然后 WebException(超时)......