zoukankan      html  css  js  c++  java
  • 豆瓣 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

    至此,问题圆满解决!

  • 相关阅读:
    五种Sublime text 3同时快速编辑多行内容
    update 更新某个字段自动加1
    oracle 一行记录被锁
    事件
    练习题1
    语法
    开始js
    js简述
    概述
    软连接
  • 原文地址:https://www.cnblogs.com/weiwei-python/p/9934225.html
Copyright © 2011-2022 走看看