Вставная замена для `urllib2.urlopen`, который выполняет проверку сертификата - PullRequest
6 голосов
/ 29 мая 2011

Я использую Python urllib2.urlopen для общения с HTTPS-серверами, но теперь из документации я узнал, что "HTTPS-запросы [с использованием urllib2.urlopen] не выполняют никакой проверки сертификата сервера."

Это большая проблема для меня, потому что из-за этого мои серверы открыты для атаки MITM.

Мне нужна замена для urllib2.urlopen, которая выполняет проверку сертификата, поэтому я могусвяжите его с моим кодом и замените все вызовы на urllib2.urlopen вызовами модифицированной функции urlopen.

Поскольку это проблема безопасности, я предпочитаю проверенный в бою проверенный на безопасность код, а не какой-то случайныйрецепт из интернета.

Ответы [ 3 ]

2 голосов
/ 04 февраля 2015

К счастью, ситуация изменилась.Проверка сертификата по умолчанию включена в Python 2.7.9 / 3.4.3.Подробнее см. https://www.python.org/dev/peps/pep-0476/.

1 голос
/ 29 мая 2011

Вас может заинтересовать эта библиотека , хотя она не является заменой. Он использует ssl или OpenSSL, в зависимости от используемой версии Python, и httplib.

1 голос
/ 29 мая 2011

Взгляните на http://pycurl.sourceforge.net/. Он использует libcurl, который, безусловно, зрелый и хорошо протестированный.

Хотя это не замена. API отличается.

Редактировать еще лучше, посмотрите на вопрос, связанный с @Sven в его комментарии (который также предлагает Pycurl в качестве опции).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...