• 豆瓣 URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719)>


    import urllib.request as urlrequest 
    #import ssl
    #ssl._create_default_https_context = ssl._create_unverified_context
    url_visit='https://api.douban.com/v2/movie/subject/1764796'
    crawl_content=urlrequest.urlopen(url_visit).read()

    print(crawl_content.decode('unicode-escape'))

    而当目标网站使用的是自签名的证书时就会抛出一个 urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> 的错误消息,

    解决方案包括下列两种方式:

    1. 使用ssl创建未经验证的上下文,在urlopen中传入上下文参数

    1.  
      import ssl
    2.  
      import urllib2
    3.  
       
    4.  
      context = ssl._create_unverified_context()
    5.  
      print urllib2.urlopen("https://www.12306.cn/mormhweb/", context=context).read()

    2. 全局取消证书验证

    1.  
      import ssl
    2.  
      import urllib2
    3.  
       
    4.  
      ssl._create_default_https_context = ssl._create_unverified_context
    5.  
       
    6.  
      print urllib2.urlopen("https://www.12306.cn/mormhweb/").read()

    注意:在全全局请求文件导入import ssl

    1.  
      import ssl
    2.  
      ssl._create_default_https_context = ssl._create_unverified_context

    至此,问题圆满解决!

  • 相关阅读:
    最短路打印路径
    hdu1874(dijskstra算法和floyd算法)
    最短路径(Dijkstra算法)
    kruskal算法模板(续)
    kruskal算法模板
    最小生成树prim算法
    hdu1879(并查集)
    hdu1875 并查集
    top 1 1
    mvc 母版页中登录注册和问候的处理
  • 原文地址:https://www.cnblogs.com/weiwei-python/p/9934225.html
Copyright © 2020-2023  润新知