如何解决 http基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系 的问题
解决 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系 的问题
最近查看网站日志发现搜索引擎请求某个页面的时出现了500错误,检查日志发现这个页面报了异常 “基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系” ,检查发现是请求一个网络接口时报的错误 ,这个接口开发时请求是没有问题的。
折腾了一通总算是搞定了:
先确定网站是不是开启了https,如果是关了https或者去安装证书,如果不是 再往下看
首先引用命名空间
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
重载代理类 通过验证
public static bool SecurityAllow(object sender, X509Certificate certificate,
X509Chain chain, SslPolicyErrors errors)
{
//总是通过验证
return true;
}
实例化 HttpWebRequest
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(SecurityAllow);
HttpWebRequest Client = (HttpWebRequest)WebRequest.Create(UrlAddress);
重新运行 搞定!
顺便说一句 .NET CORE 环境下因为框架底层代码实现问题 上面这段代码是行不通的 可以看看下面这篇 里面有一段.net core框架下的请求实现。博主的问题由于这边服务器情况比较特殊测试没成功,就采取了特殊处理的办法,但是常规情况下应该是可用的,需要的可以看看
HttpClient请求域名报错 The SSL connection could not be established, see inner exception.