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;
    }

3个回答

先看你能不能访问github,可能网络被拦截了。

如果yahoo可以,那么就不是你代码的问题了,应该是网络的问题。

谢谢两位的关注,浏览器可以访问github的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐