python ssl ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] 不支持的协议 (_ssl.c:590)

2024-03-03

使用 python 2.7.10 或 2.7.9 时出现此错误,但适用于 python 2.7.6(尚未测试其他版本)

OpenSSL 版本:

openssl version -a
OpenSSL 1.0.1f 6 Jan 2014
built on: Thu Jun 11 15:30:15 UTC 2015
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

Python:

import ssl
print ssl.OPENSSL_VERSION_NUMBER
268439663L
print get_server_certificate(('someInternalIp', 443), ssl_version=ssl.PROTOCOL_SSLv23)

堆栈跟踪:

File "C:\Python27\lib\ssl.py", line 985, in get_server_certificate
  with closing(context.wrap_socket(sock)) as sslsock:
File "C:\Python27\lib\ssl.py", line 352, in wrap_socket
  _context=self)
File "C:\Python27\lib\ssl.py", line 579, in __init__
  self.do_handshake()
File "C:\Python27\lib\ssl.py", line 808, in do_handshake
  self._sslobj.do_handshake()
ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:590)

如果您在基于 debian 的操作系统或 docker 映像中运行请求,则需要更改 SSL 配置。目前 Debian 默认使用 SSL v1.2 +。

如果需要,您可以手动编辑 openssl.cnf,但有一个更快的解决方案:

sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1.0/' /etc/ssl/openssl.cnf

它对我的情况很有帮助,对旧 SSL 的 URL 的请求现在返回不错的 200 响应。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python ssl ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] 不支持的协议 (_ssl.c:590) 的相关文章

  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • 使用 psycopg2 在 python 中执行查询时出现“编程错误:语法错误位于或附近”

    我正在运行 Python v 2 7 和 psycopg2 v 2 5 我有一个 postgresql 数据库函数 它将 SQL 查询作为文本字段返回 我使用以下代码来调用该函数并从文本字段中提取查询 cur2 execute SELECT
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • 连续改变 UISlider 拇指图像上 UILabel 的值

    我有一个UISlider 最少 1 个 最多 10 个 我希望它的拇指有一个UILabel放置在它的顶部 在移动时不断更新和更改其文本UISlider的拇指 所以 我从UISlider并添加了一个UILabel但一旦拇指移动 标签似乎会覆盖
  • Cuda C++ 设备代码中没有元组吗?

    global void addKernel int c const int a const int b int i threadIdx x auto lamb int x return x 1 Works auto t std make t
  • Keras 中 Conv1d 中的 input_shape 变量如何工作?

    再见 我正在 Keras 上使用 CNN 1d 但我在输入形状变量方面遇到了很多麻烦 我有一个包含 100 个时间步长和 5 个带有布尔标签的特征的时间序列 我想训练一个使用长度为 10 的滑动窗口的 CNN 1d 这是我编写的非常简单的代
  • 如何将按组绘图元素叠加到 ggplot2 方面?

    我的问题与分面有关 在下面的示例代码中 我查看了一些分面散点图 然后尝试在每个方面覆盖信息 在本例中为平均线 tl dr 版本是我的尝试失败了 要么我添加的平均线计算所有数据 不尊重方面变量 要么我尝试编写一个公式 但 R 抛出错误 然后是
  • 传递带有自定义数据属性的函数

    是否可以传递具有自定义数据属性的函数 这不起作用 div div function hello console log hello 当我获得该属性时 它是一个值为 hello 的字符串而不是函数 怎么解决这个问题呢 你可以这样做 div d
  • 是否可以在 git-extensions 中为特定文件扩展名设置 diff/merge-tool ?

    我刚刚开始使用 LabView 进行开发 这对我来说是全新的 我想使用 git 扩展来处理我的版本控制 由于源位于 vi格式 我无法使用普通的 diff 工具 源是二进制的 幸运的是 LabView 附带了专用的差异和合并工具 这似乎非常有
  • 关于真实的表示可以假设什么?

    该程序返回0在我的机器上 include
  • HTML 数据在 Android 中从 json webservice 获取的 Webview 中无法正确显示?

    我正在使用 json webservice 从服务器获取 HTML 数据并在 webview 中显示 在 iPhone 中可以完美显示屏幕尺寸 但在 Android 中则不能完美显示 这里我放下了webservice链接和代码以及andro
  • Gemfile.lock 应该包含在 .gitignore 中吗?

    我对捆绑器及其生成的文件有点陌生 我有一份来自 GitHub 的 git 存储库副本 该存储库由很多人贡献 因此我惊讶地发现捆绑程序创建了一个存储库中不存在且不在 gitignore list 因为我已经分叉了它 所以我知道将它添加到存储库
  • Javascript 书签在 Firefox 41 中停止工作

    在 Firefox 41 中 小书签 带有javascript 网址 例如javascript alert it works 从点击或关键字运行 停止工作 有没有什么解决办法可以使用javascript Firefox 41 中的书签 以前
  • OpenID Connect 使用 Office 365 和 spring security 登录

    我需要配置OpenID 连接用一个春季安全过滤器以授权使用我的 Rest API Web 我找到了一个谷歌登录示例 http www baeldung com spring security openid connect 但就我而言 我需要
  • 如何删除两个单词之间的字符串

    我正在使用下面的代码行下载网页 WebRequest request WebRequest Create strURL WebResponse response request GetResponse Stream data respons
  • 根据先前的下拉列表选择显示第二个下拉列表

    首先 我讨厌提出一个已经处理过的问题 但你应该知道我在这个网站上找到的其他选项对我不起作用 基本上 我想构建一个简短的表单 其中有两个下拉框 第一个始终显示 第二个默认隐藏 当选择第一个下拉框中的某个选项时 我希望显示第二个下拉框 这是我的
  • 黑莓开发上的脚本语言?

    据我所知 开发 Blackberry 应用程序的首选方法是 Java 这是吗only way 我梦想有一个快速的应用程序环境 您可以在其中创建 GUI 使用 Blackberry UI 组件 类似于 Blackberry 上的 Tcl Tk
  • 循环遍历矩阵的对角线+1

    我需要循环遍历对角线 1 即对角线右侧的值 1 列 并将值写入数据帧中的列 write csv data frame matrix 1 2 matrix 2 3 matrix 3 4 如何使用函数来做到这一点 而不是仅仅列出值的所有位置 实
  • 使用 C# 从 azure 文件存储递归获取文件

    我想编写一个程序来从天蓝色文件存储中获取文件 但问题是目录深度未定义并且isFile文件的属性始终返回 false using System using System Collections Generic using System Lin
  • 多个型号的评论

    在我的 Rails 应用程序中 我目前设置了评论以与我的帖子模型一起使用 该模型运行正常 如何向我的图书模型添加评论 这是我到目前为止所拥有的 以下是我的评论架构中的内容 create table comments force true d
  • jsx 上的 eslint 缩进

    我正在尝试制作简单的组件 但是当我点击ctrl s它这样做 警告和错误是这样的 eslint 预期结束标签与开始的缩进相匹配 react jsx ending tag location eslint 预期缩进 4 空格字符但发现2 reac
  • iOS 图表 moveViewToX 似乎不起作用

    我正在尝试移动当前显示的数据范围 看了文档 看来应该可以用moveViewToX函数将视图的左侧移动到给定的 x 值 我制作了一个测试代码 其中有 1 个带有按钮的视图 当视图加载到模拟器中时 图表会正确显示 当按钮被点击时 它会调用mov
  • python ssl ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] 不支持的协议 (_ssl.c:590)

    使用 python 2 7 10 或 2 7 9 时出现此错误 但适用于 python 2 7 6 尚未测试其他版本 OpenSSL 版本 openssl version a OpenSSL 1 0 1f 6 Jan 2014 built