urllib3 на python 2.7 Ошибка SNI в Google App Engine

Я пытаюсь загрузить страницу HTTPS с моего сайта, размещенного в Google App Engine, с SNI. Независимо от того, какую библиотеку я использую, я получаю следующую ошибку:

[Errno 8] _ssl.c:504: EOF occurred in violation of protocol 

Я попытался решить ошибку во многих отношениях, в том числе используя urllib3 openssl monkeypatch:

 from urllib3.contrib import pyopenssl pyopenssl.inject_into_urllib3 

Но я всегда получаю ту же ошибку, о которой говорилось выше.

Есть идеи?

One Solution collect form web for “urllib3 на python 2.7 Ошибка SNI в Google App Engine”

К сожалению, для urllib3 стандартная библиотека Python не добавляла поддержку SNI до Python 3.2. (См. Проблема № 118 @ urllib3 )

Чтобы использовать SNI в Python 2.7 с urllib3, вам нужно использовать PyOpenSSL injection monkeypatch. (См. Выпуск № 156 @ urllib3 )

 from urllib3.contrib import pyopenssl pyopenssl.inject_into_urllib3() 

У вашего вопроса в основном был такой же код, за исключением того, что в вызове pyopenssl.inject_into_urllib3() отсутствовал вызов круглых скобок. Фиксация, которая должна сделать трюк.

Вам также необходимо убедиться, что доступны следующие зависимости:

  • pyOpenSSL (проверено с 0,13)
  • ndg-httpsclient (проверено с 0.3.2)
  • pyasn1 (проверено с 0.1.6)
  • Игнорировать проверку сертификата с помощью urllib3
  • Почему я постоянно вижу «Сброс сброшенного соединения» при загрузке данных в мою базу данных?
  • Каков наилучший способ загрузки файла с помощью urllib3
  • Python-запросы ImportError: невозможно импортировать имя HeaderParsingError
  • Google App Engine - SSL InsecurePlatformWarning
  • Как полностью выполнить сброс запросов?
  • InsecurePlatformWarning при создании изображения Docker
  • Прокси-соединение с Python
  • Python - лучший язык программирования в мире.