如何在Python请求中禁用SNI?

问题描述:

我试图使用requests通过SSL访问远程服务器。不幸的是,它被错误地配置为在SNI握手期间响应错误TLSV1_UNRECOGNIZED_NAME,这被浏览器忽略,但在requests中引发了异常。如何在Python请求中禁用SNI?

这似乎是同样的问题,因为这个问题,但在Python,而不是Java:SSL handshake alert: unrecognized_name error since upgrade to Java 1.7.0`

连接完美的作品在Python 2,不支持SNI。我如何禁用Python 3中的SNI以便连接起作用?

+0

不知道,如果它涉及,但今天我翻过'requests_toolbelt' offereing [SSLAdapter(https://开头工具区。 readthedocs.org/en/latest/user.html#ssladapter)。 –

我找不到在requests级别禁用SNI的方法,但是我发现了一个黑客,它会欺骗它认为SNI不受支持。进口requests之前添加以下代码(不是之后,否则就太晚了):

import ssl 
ssl.HAS_SNI = False 
+0

请求2.18.1不再适用于我 – Guss