【问题标题】:"Can't connect to HTTPS URL because the SSL module is not available."“无法连接到 HTTPS URL,因为 SSL 模块不可用。”
【发布时间】:2019-03-27 09:11:11
【问题描述】:

大家好,我在使用 SSL 和 python 时遇到了问题。 我有一个带有请求的 f5 API 脚本,它运行良好。 我做了另一个 API 脚本。在另一台机器(一些我无法提供名称的 VPN 系统)上尝试使用 requests 包,因为我的带有 requests 包的 python API 脚本不起作用。 我知道当我尝试接近另一台机器的 API 时问题就开始了,因为我遇到的问题是在 2 台机器上。在另一台机器上,我故意这样做是为了看看这是否是我的问题(遗憾的是我是对的)。

有效的脚本示例:

def f5_ltm_01_active_status():

  response = requests.get("https://<ip-address>/mgmt/tm/cm/device/ver=12.1.3.4", auth=("user","password"),verify=False)

  try:
      json_response = response.json()
      if json_response["items"][0]['hostname']:
        return_str = "%s is %s" %(json_response["items"][0]['hostname'],json_response["items"][0]['failoverState'])
      else:
        return_str = "Wrong value in JSON"
  except:
    return_str = "Something went wrong ,  please check the code  "
  finally:
    return return_str

Python返回的错误是:

raise SSLError(e, request=request) requests.exceptions.SSLError: 
HTTPSConnectionPool(host='ip-address-of-f5', port=443): Max retries 
exceeded 
with url: /mgmt/tm/cm/device?ver=12.1.3.4 (Caused by SSLError("Can't 
connect 
to HTTPS URL because the SSL module is not available."))

如果我在调试模式下运行脚本,它可以工作。

我使用的是 Windows 10

我正在使用 Python v3.7.2

我尝试做的另一件事:

  1. 在 Stackoverflow 中寻找答案

  2. 查看 Google 以尝试获得答案

  3. 擦除 Pycharm 并重新安装

  4. 擦除 python 并重新安装

  5. 擦除请求包和 urllibs3 包并重新安装

  6. 安装 open-ssl - pyopenssl 包

我真的很想知道它是如何以及为什么会发生的 但主要是如何解决它

【问题讨论】:

    标签: python ssl


    【解决方案1】:

    我错了。

    我在同一个项目中创建了一个名为 ssl.py 的 Python 文件。 Python 一定一直在我的 ssl.py 文件中寻找 ssl 属性。

    当我删除那个文件时,一切都解决了。 我希望我对这篇文章的任何人有所帮助。

    【讨论】:

    • 你成就了我的一天。我也这样做了!
    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2019-06-05
    相关资源
    最近更新 更多