我有一个简单的应用程序,它使用 C# Web 客户端类来下载网站 HTML。这是我正在使用的代码的精简示例:
WebClient wc = new WebClient();
wc.Headers.Add("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
htmlCode = wc.DownloadString("https://www.oig.hhs.gov/exclusions/exclusions_list.asp");
网站证书似乎有问题,因为我遇到了这个异常:
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel." "The remote certificate is invalid according to the validation procedure.
如果您将链接复制并粘贴到浏览器中,则需要您同意风险才能查看该网站。它是一个政府网站,所以我不担心任何病毒或任何东西。是否有办法告诉网络客户端绕过此问题并继续访问该网站?
据我所知,这是因为他们使用了无效或过期的 SSL 证书。您可以使用以下方法绕过(忽略)它:
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
2015年编辑:
这篇文章得到了很多点赞,但我对我的回答感到遗憾。它可能会消除您的错误,但不会解决问题。接受任何 SSL 证书都会使您容易受到中间人攻击,因此这通常是一个非常糟糕的主意。我将保留这个答案以供将来参考,但请注意,您应该尝试从根本上解决问题,即确保 SSL 证书有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)