zoukankan      html  css  js  c++  java
  • Python执行SSL握手报错 AttributeError: 'module' object has no attribute 'X509_up_ref'处理

    执行requests报错

    ====> Sending Panels to webhook https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=0b8a94fd-5421-4dfa-bbf8-xxxxxxxxxxxx....
    From cffi callback <function _verify_callback at 0x10f3e3758>:
    Traceback (most recent call last):
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/OpenSSL/SSL.py", line 309, in wrapper
        _lib.X509_up_ref(x509)
    AttributeError: 'module' object has no attribute 'X509_up_ref'
    Traceback (most recent call last):
      File "gpr_multi_panels.py", line 184, in <module>
        send_multi_panels(job_json_file_full_path)
      File "gpr_multi_panels.py", line 173, in send_multi_panels
        json=new_post_data)
      File "/Library/Python/2.7/site-packages/requests/api.py", line 110, in post
        return request('post', url, data=data, json=json, **kwargs)
      File "/Library/Python/2.7/site-packages/requests/api.py", line 56, in request
        return session.request(method=method, url=url, **kwargs)
      File "/Library/Python/2.7/site-packages/requests/sessions.py", line 488, in request
        resp = self.send(prep, **send_kwargs)
      File "/Library/Python/2.7/site-packages/requests/sessions.py", line 609, in send
        r = adapter.send(request, **kwargs)
      File "/Library/Python/2.7/site-packages/requests/adapters.py", line 497, in send
        raise SSLError(e, request=request)
    requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",)
    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ 
    

    解决问题

    网络查询提示原因为cryptography库版本过低,升级之。

    # 升级pip
    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ pip install --upgrade pip
    DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
    Collecting pip
      Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
         |████████████████████████████████| 1.4MB 269kB/s 
    Installing collected packages: pip
      Found existing installation: pip 19.3.1
        Uninstalling pip-19.3.1:
          Successfully uninstalled pip-19.3.1
    Successfully installed pip-20.0.2
    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ 
    
    # 升级cryptography
    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ sudo pip install -U cryptography
    Password:
    DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
    WARNING: The directory '/Users/stephen/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
    Collecting cryptography
      Downloading cryptography-2.8-cp27-cp27m-macosx_10_6_intel.whl (1.6 MB)
         |████████████████████████████████| 1.6 MB 478 kB/s 
    Requirement already satisfied, skipping upgrade: ipaddress; python_version < "3" in /Library/Python/2.7/site-packages (from cryptography) (1.0.17)
    Requirement already satisfied, skipping upgrade: enum34; python_version < "3" in /Library/Python/2.7/site-packages (from cryptography) (1.1.6)
    Requirement already satisfied, skipping upgrade: six>=1.4.1 in /usr/local/lib/python2.7/site-packages (from cryptography) (1.11.0)
    Requirement already satisfied, skipping upgrade: cffi!=1.11.3,>=1.8 in /Library/Python/2.7/site-packages (from cryptography) (1.8.3)
    Requirement already satisfied, skipping upgrade: pycparser in /Library/Python/2.7/site-packages (from cffi!=1.11.3,>=1.8->cryptography) (2.17)
    Installing collected packages: cryptography
      Attempting uninstall: cryptography
        Found existing installation: cryptography 1.5.3
        Uninstalling cryptography-1.5.3:
          Successfully uninstalled cryptography-1.5.3
    Successfully installed cryptography-2.8
    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ 
    

    重新测试OK

    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ 
    ====> Sending Panels to webhook https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=0b8a94fd-5421-4dfa-bbf8-xxxxxxxxxxxx....
    {"errcode":0,"errmsg":"ok"}
    stephendeMacBook-Pro:GrafanaPanelReporter stephen$ 
    
  • 相关阅读:
    快速读取txt文档
    ASP.NET中缓存非SQLServer数据库数据
    查看linq to sql 生成的sql 语句
    跟树有关的数据结构学习系列之概览
    Linux安装软件包时的“依赖关系树”算法(C#)
    Go调度器介绍和容易忽视的问题
    搞懂Go垃圾回收
    Go“一个包含nil指针的接口不是nil接口”踩坑
    Go slice:切片的“陷阱”和本质
    C#调用ODBC连接SQL Server数据库的存储过程
  • 原文地址:https://www.cnblogs.com/thatsit/p/python-zhi-xingssl-wo-shou-bao-cuo-attributeerror-.html
Copyright © 2011-2022 走看看