IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1129) -> 正文阅读

[网络协议]ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1129)

Python的巨坑

你是不是好奇为什么SSL模块会跳出这个提示?
你是不是好奇为什么网上都只有针对Requests模块中ssl的解决方法?

先看看出现问题的代码,然后我告诉你如何解决

import ssl
import socket

s=ssl.wrap_socket(socket.socket(socket.AF_INET,socket.SOCK_STREAM))
s.connect(("hostname",443))

>>> ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1129)

解决方法

ssl模块中的wrap_socket方法在Python3.7版本开始就已经被弃用,所以就意味着其实你在使用一个已经被淘汰的方法。
如何解决呢?使用SSLContext.wrap_socket()方法。
# 和上面的代码逻辑是一样的
import ssl
import socket

# 其中server_hostname是你要连接的服务器的域名或IP地址
# 注意,SSLContext这是一个类

hostname="www.a.com"
s=ssl.SSLContext().wrap_socket(socket.socket(socket.AF_INET,socket.SOCK_STREAM), server_hostname=hostname)
#创建一个SSL协议的对象,就像s=socket.socket()
s.connect((hostname,443))
#连接对应的主机和端口号

# ===================我是分隔符=================== #

# 上面的代码你看着晃眼的话也可以这么写

hostname="www.a.com"
# 先定义主机名
context = ssl.SSLContext()
# 实例化对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 创建套接字
s = context.wrap_socket(sock, server_hostname=hostname)
# 创建SSL协议对象的套接字
s.connect((hostname, 443))
# 连接对应的主机和端口号
问题解决,是不是很惊讶?你是不是在网上找了好久都没找到真正的解法?
如果这篇文章帮到你了,请一定要留下一个评论!
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:15:37  更:2021-11-27 10:16:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/6 7:49:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码