Python 请求库-获取使用的TLS版本
使用Python请求库时,如何确定使用了哪个版本的TLS?您首先需要确定Python 请求库-获取使用的TLS版本,python,python-2.7,python-requests,Python,Python 2.7,Python Requests,使用Python请求库时,如何确定使用了哪个版本的TLS?您首先需要确定SSLversion才能获得TLS版本TLS堆栈将自动使用可用的最佳版本 import ssl print ssl.OPENSSL_VERSION 'OpenSSL 1.0.1e-fips 11 Feb 2016' 此外,您需要哪个版本的TLS支持取决于您的SSL版本 在执行请求请求后(除非是流式请求),使用python根据来确定TLS版本,无法获取套接字信息(据我所知,它保存TLS信息) 因为,SSL版本和服务器的TLS
SSL
version才能获得TLS
版本<代码>TLS堆栈将自动使用可用的最佳版本
import ssl
print ssl.OPENSSL_VERSION
'OpenSSL 1.0.1e-fips 11 Feb 2016'
此外,您需要哪个版本的TLS
支持取决于您的SSL
版本
在执行请求
请求后(除非是流式请求),使用python根据来确定TLS
版本,无法获取套接字信息(据我所知,它保存TLS信息)
因为,SSL版本和服务器的TLS版本决定了连接中使用的TLS版本
套接字库文档显示了如何:
谢谢你的评论。如果服务器的版本低于我的最大版本,该怎么办?然后,在发出请求之前,我无法知道将使用哪个版本。请求文档显示,您可以强制客户端使用特定的TLS版本。这是一个选项,但我目前正在尝试查看是否可以将其记录下来。
import socket
import ssl
hostname = 'www.python.org'
context = ssl.create_default_context()
with socket.create_connection((hostname, 443)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
print(ssock.version())