Python 3.2 имеет дело с перенаправлением на относительный URL-адрес ошибки HTTP 302

Я пытаюсь зайти на сайт с Python 3.2 без дополнительных модулей.

Я использую urllib.request.urlopen(site), но когда вы запрашиваете сайт, он выдает ошибку HTTP 302 из-за необработанного перенаправления PHP на "/"

Во время перенаправления веб-сайт устанавливает cookie, который необходим для дальнейшего доступа к сайту.

Как бы я справился с этим в Python?

1 ответ

Перенаправление 302 - это не совсем "200 успехов", но я бы тоже не назвал это ошибкой, пока вы не получите URL-адрес, на который он вас направит. На сайте могут быть внутренние ошибки, но ответ - это прямое перенаправление, и это то, о чем заботится код вашего клиента.

В python3.2 часто имеет смысл придерживаться "включенных батарей" и полагаться на стандартные библиотеки, такие как urllib.

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

>>> r = requests.get(url)
>>> r.cookies['example_cookie_name']
Другие вопросы по тегам