问题描述
- HttpWebRequest访问https网站出错
-
代码运行到request.GetResponse();出错,如果httpsair改为https://www.yahoo.com就没有问题,为什么?static void Main(string[] args)
{
ServicePointManager.ServerCertificateValidationCallback += ValidateServerCertificate;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;var httpsair = "https://github.com"; var request = HttpWebRequest.Create(httpsair) as HttpWebRequest; request.Credentials = CredentialCache.DefaultCredentials; var response = request.GetResponse(); string downloadedStr; using (var stream = response.GetResponseStream()) { using (var reader = new StreamReader(stream)) { downloadedStr = reader.ReadToEnd(); } } Console.WriteLine(downloadedStr); Console.ReadLine(); } public static bool ValidateServerCertificate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { if (sslPolicyErrors == SslPolicyErrors.None) return true; Console.WriteLine("Certificate error: {0}", sslPolicyErrors); // Do not allow this client to communicate with unauthenticated servers. return false; }
解决方案
解决方案二:
先看你能不能访问github,可能网络被拦截了。
解决方案三:
如果yahoo可以,那么就不是你代码的问题了,应该是网络的问题。
解决方案四:
谢谢两位的关注,浏览器可以访问github的
时间: 2024-09-17 04:55:17