如何在Python请求中禁用SNI?

时间:2014-07-21 21:46:27

标签: python python-requests sni

我尝试使用requests通过SSL访问远程服务器。不幸的是,它错误配置,以便在SNI握手期间响应错误TLSV1_UNRECOGNIZED_NAME,浏览器会忽略该错误,但在requests中引发异常。

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

这种连接在Python 2中完美运行,它不支持SNI。如何在Python 3中禁用SNI以使连接有效?

1 个答案:

答案 0 :(得分:6)

我找不到在requests级别禁用SNI的方法,但是我发现了一个黑客,它会欺骗它认为不支持SNI。在导入requests之前添加此代码(不是之后,或者为时已晚):

import ssl
ssl.HAS_SNI = False
相关问题