AppleII 2015-08-01 13:47 采纳率: 0%
浏览 1937

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条回答

  • oyljerry 2015-08-01 15:50
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿