2

我正在尝试requests通过 SSL 访问远程服务器。不幸的是,它配置错误,以至于它在 SNI 握手期间响应错误TLSV1_UNRECOGNIZED_NAME,浏览器会忽略该错误,但会在requests.

这似乎与此问题相同,但在 Python 而不是 Java 中: SSL 握手警报:unrecognized_name error since upgrade to Java 1.7.0 `

该连接在不支持 SNI 的 Python 2 中完美运行。如何在 Python 3 中禁用 SNI 以使连接正常工作?

4

1 回答 1

6

我找不到在requests关卡上禁用 SNI 的方法,但我发现了一个 hack,它会欺骗它认为不支持 SNI。在导入之前添加此代码requests(不要在之后添加,否则为时已​​晚):

import ssl
ssl.HAS_SNI = False
于 2014-07-21T21:46:26.870 回答