我正在编写一个程序,该程序从用户提供的URL中读取内容。我的问题是在代码中是这样的:
Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
如果提供的 URL 是“ https://” URL ,这将中断。谁能帮助我更改此代码,以便它可以与SSL加密的内容一起使用。谢谢。
您正在按照正确的方式进行操作,但是用户可能会向安装了无效SSL证书的站点提供URL。如果在发出实际的Web请求之前放入以下行,则可以忽略这些证书问题:
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
在哪里AcceptAllCertifications定义为
AcceptAllCertifications
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }