解决方案:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to

通过python代码爬取数据时出现了这个错误。python代码如下:

    from requests import getimport requestsurl = "https://xx.xx.xx:8888/states"headers = {"Authorization": "Bearer token","content-type": "application/json",}response = get(url, headers=headers)print(response.text)

报出了如上的错误。在网上搜索了很多资料,大部分建议将ssl证书验证关闭即

    response = get(url, headers=headers, verify=False)

但是这样面临着被攻击的风险。在查阅了相关资料后,发现https走的是非对称加密,客户端(执行python的机器)必须要手握公钥才能和服务器加密通信。ubuntu系统(本人开发环境)的公钥放在/etc/ssl/certs/ca-certificates.crt中,这个文件中存储了大部分的公钥,访问一般的网站不会出现问题,如百度:

ubuntu:~/Desktop$ curl -v https://www.baidu.com
*   Trying 14.215.177.38:443...
* TCP_NODELAY set
* Connected to www.baidu.com (14.215.177.38) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crtCApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256

而本次要访问的网站是自己搭建的,需要将公钥拷贝到/etc/ssl/certs/ca-certificates.crt。本人使用的是万网的免费域名证书,只要将chain.crt以及public.crt中的公钥拷贝到/etc/ssl/certs/ca-certificates.crt即可正常访问网站。

大家觉得有所帮忙请点个赞:)

解决方案:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to相关推荐

  1. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to

    最近再用mac下的pycharm编写python文件,在抓取制定网站的错误提示每次运行都直接报错如下: ssl.SSLCertVerificationError: [SSL: CERTIFICATE_ ...

  2. 解决ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    问题 原代码: async def call_wss_api(msg):async with websockets.connect('wss://xxx.com/tool/handle') as we ...

  3. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed问题解决

    问题复现 在使用django框架编写项目时,启动项目正常,访问url时报错 ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] ...

  4. python:urllib2.URLError urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    现在随处可见 https 开头的网站,urllib2可以为 HTTPS 请求验证SSL证书,就像web浏览器一样,如果网站的SSL证书是经过CA认证的,则能够正常访问, 如果SSL证书验证不通过,或者 ...

  5. Python [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 解决方法

    一个搭建在SAE上的Django应用,使用新浪微博提供的Python SDK已经稳定运行一年有余,但最近开始持续出现微博认证失败的状况. 摘录微博python SDK的错误提示如下所示: ERROR: ...

  6. [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    错误: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727),报错问题就是证书验证失败,这种情况出现在网站使用 ...

  7. pip联网问题 SSLError(SSLError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748

    有时候你在conda中使用pip,即使在pip.conf中设置了trusted-host,还是不起作用,连不上网: $ pip search absl-py WARNING: pip is being ...

  8. 银豹 PYTHON requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

    requests.packages.urllib3.disable_warnings()obj = requests.post(MY_URL, headers=my_headers, data=str ...

  9. [Python报错]CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired

    一.问题的出现 使用Thonny运行pico代码时,出现了报错,是我们常见的ImportError:no moudel named - 所以这种情况很简单,去import这个modulde就OK了. ...

最新文章

  1. 2021年大数据Hive(十二):Hive综合案例!!!
  2. 通知提示SCPromptView
  3. lux系统服务器安装后多大,服务器环境搭建
  4. springboot + vue项目跨域请求解决方案
  5. 嘿,老李,又在写BUG呢?
  6. RH413-Linux系统下umask测试
  7. C#正则表达式获取html标签之间的内容
  8. js高级学习笔记(b站尚硅谷)-9-原型链相关知识
  9. cuda cudnn 下载地址
  10. Android基础入门教程——10.3 AudioManager(音频管理器)
  11. 使用tkinter+爬虫实现网易云音乐下载器
  12. ElementUI Cascader 级联选择器实现点击文本选中
  13. php获取当前进程的id
  14. 计算机信息科学学科分类,-学科分类与代码.doc
  15. 结合Zemax浅谈几何光学和信息光学中的成像,孔径光阑,视场光阑
  16. 大数据与人工智能方向基础 --- 概述
  17. RN导入高德地图定位的用法实例
  18. 案例:游戏次数(重点内容)
  19. 美团点评女技术总监任登君:不要给自己的人生设限
  20. 计算机软件著作权登记办法(2002)

热门文章

  1. AM335x硬件开发使用指南(一)
  2. notify()和notifyAll()有什么区别
  3. ZCU104开发板:开发板组件描述
  4. DB9针型:RS485输出信号及接线端子引脚分配
  5. mysql 触发器delete_MySQL之触发器
  6. Eigen: C++开源矩阵计算库
  7. 网页上跳转直接添加QQ好友、加入QQ群
  8. 了解常见的模拟器及交换机的基本配置
  9. 主成分分析法及特征值的含义
  10. bugzilla 缺陷报告功能改造