Попробуйте установить urllib3 (и другие вещи, см. Ниже)
См., Исторически было множество проблем для запросов с движком Google (см. Вопрос #498). В основном они были решены с поддержкой urllib3 для GAE, которая поставлялась с v1.3. Он вышел давным-давно (текущая версия - 1.7), поэтому, вероятно, это не проблема, однако при первоначальной установке запросов она включает urllib3
в папку с именем packages
и, возможно, она не включает ее полностью.
Я также попытался найти исходный код для requests
и нашел, что это интересно:
# Attempt to enable urllib3's SNI support, if possible
try:
from requests.packages.urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3()
except ImportError:
pass
Углубляясь, то contrib
пакет включает в себя pyopenssl.py
скрипт, который требует:
SSL с SNI-поддержкой Python 2.
Для этого необходимы следующие пакеты:
- pyOpenSSL (проверено 0,13)
- нсг-httpsclient (протестировано с 0.3.2)
- pyasn1 (проверено 0.1.6)
Итак, подведем итог:
Установите urllib3
и другие пакеты SSL, упомянутые выше, затем попробуйте выполнить этот запрос, который вы делаете снова, и посмотрите, s изменено. Я предполагаю, что это (по крайней мере) поможет с mailchimp
, так как он также жалуется на проблемы с SSL/HTTPS.
Если это не сработает, попробуйте использовать urllib3
api вместо requests
делать ту же задачу и посмотреть, если это работает. Если это так, проблема конкретно связана с упакованным urllib3
, который использует requests
, что может потребовать некоторого исправления.
import urllib3
http = urllib3.PoolManager()
r = http.request('GET', 'https://www.23andme.com/')
К сожалению, это не определенное решение, мы надеемся, один из моих предложений поможет. Обновите меня в отношении прогресса, который я попробую, и помогу вам как можно больше
Сессия «запросы» также сохраняет файлы cookie, сайт перенаправляет вас по другой причине. –
Это может быть пользовательский агент? Как заставить запросы имитировать браузер? – connor
Обычно это один или несколько заголовков, да. Добавьте словарь 'headers = ..' и начните копирование заголовков, отправляемых вашим браузером, посмотрите, что заставляет его работать. –