InsecurePlatformWarning:真正的SSLContext对象不可用。

InsecurePlatformWarning:真正的SSLContext对象不可用。这可以防止urllib3适当地配置SSL 

尝试使用以下代码通过python请求执行REST GET,我收到了错误。

代码片段:

import requests
header = {'Authorization': 'Bearer...'}url = az_base_url + az_subscription_id + '/resourcegroups/Default-Networking/resources?' + az_api_version
r = requests.get(url, headers=header)

错误:

/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/util/ssl_.py:79: 
          InsecurePlatformWarning: A true SSLContext object is not available. 
          This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. 
          For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning

我的python版本是2.7.3。我尝试安装urllib3并请求[安全],因为其他线程建议,我仍然有同样的错误。

想知道是否有人可以提供一些提示?


炎炎设计
浏览 1054回答 3
3回答

holdtom

文档给出了所需要的公平指标。但是,requests允许我们跳过几个步骤:你只需要安装security 附加软件包(感谢@admdrew指出)$ pip install requests[security]或者,直接安装它们:$ pip install pyopenssl ndg-httpsclient pyasn1请求之后就会自动注入pyopenssl到urllib3如果您使用的是ubuntu,可能会遇到安装问题 pyopenssl,您需要这些依赖项:$ apt-get install libffi-dev libssl-dev

慕侠2389804

如果您无法将Python版本升级到2.7.9,并且想要禁止警告,您可以将“请求”版本降级到2.5.3:pip install requests==2.5.32.6.0中引入了Bugfix披露 / 警告

翻阅古今

不要忘记--upgrade选项,否则您可能实际上没有安装任何东西。如果您希望系统环境安全,则需要进行安装。所以,sudo pip install --upgrade pyopenssl ndg-httpsclient pyasn1 pip尽管弃用警告卸载和升级的distutils安装的工作,我在Fedora 20 pyopenssl封装。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python