在通过
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "GET";
HttpWebResponse sp = (HttpWebResponse)req.GetResponse();
作处理时,有些输入有些URL会在HttpWebResponse sp = (HttpWebResponse)req.GetResponse();的时候抛出一个“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”的异常。
最简单的办法是:
1,先加入命名空间:
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
2,再重载CheckValidationResult方法,返回true
public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{ // 总是接受
return true;
}
3,然后在
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
前面加上如下一行代码:
ServicePointManager.ServerCertificatidationCallback = new System.Net.Security.RemoteCertificatidationCallback(CheckValidationResult);//验证服务器证书回调自动验证