请求中的 Python 2.7.6 TLSv1.2

标签 python python-requests tls1.2

我使用 python 版本 2.7.6,需要使用 TLSv1.2 发出请求。 我尝试了这样的方法来指定 tls 的版本:

class SslAdapter():
def init_poolmanager(self, connections, maxsize, block=False):
    self.poolmanager = PoolManager(num_pools=connections,
                                   maxsize=maxsize,
                                   block=block,
                                   ssl_version=ssl.PROTOCOL_TLSv1_2)
s=requests.Session() 
s.mount('https://', SslAdapter())
s.get('https://google.com',verify=False)

但在调试器中我看到请求中的 TLS 版本是 TLSv1.0。 您能建议如何正确指定 TLS 版本吗? 谢谢。

最佳答案

我假设你遇到了

AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'

这是因为直到 2.7.9 才添加 TLSv1_2 。您可以使用backports.ssl 。 安装完成后,替换您的

import ssl

import backports.ssl as ssl

关于请求中的 Python 2.7.6 TLSv1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35317317/

相关文章:

python - 在 Django 中通过外键选择相关字段

python - 使用 requests 函数下载页面时遇到问题 - 返回 410 html 错误代码,但在浏览器中有效

Python:计算 HTML 中的特定单词

ssl - SSL证书中的sct列表是什么?

python - 我有 skimage 版本 0.12。我想专门下载0.14版本。我怎么做?

python - 为什么 scipy 和 numpy fft 图看起来不同?

python - requests - Python 命令行行为不同于运行脚本时的行为

ssl - 由于 TLS 1.1/1.2 问题,Inno Setup 下载插件无法下载文件

ssl - 是否应该仅在 TLS 握手期间执行相互 TLS?

python - 随机播放python中的字典值