Запросы с Python 3.x: отсутствует местоположение с 302 status_code

Я использую запросы в Python 3 следующим образом:

r = requests.get(d, allow_redirects=False)

(где d - это URL-адрес, а именно d = 'http://1490korn.com').

Что я получаю:

print(r.status_code)
302

И:

print(r.headers)
{'Pragma': 'no-cache', 'cache-control': 'no-cache', 'Location': 
'/VaZfZ/', 'Connection': 'Close', 'Proxy-Connection': 'Close'}

Почему я получаю так мало информации (для других моих URL я получаю дополнительную информацию, например, дату). И, в частности: почему информация о местоположении такая странная?

Это не проблема Python 3 или запросов. Это ошибка сервера.

Martijn Pieters 26.11.2018 14:00

Иными словами: ничто из того, что вы делаете на стороне клиента, не изменит этого. Сервер сломан.

Martijn Pieters 26.11.2018 14:00

Спасибо. Могу я спросить, почему голосование против? Как я мог улучшить вопрос?

user4662234 26.11.2018 14:03

И, если сервер сломан: почему по коду состояния нет ошибки?

user4662234 26.11.2018 14:07

Сервер не знать сломан.

Martijn Pieters 26.11.2018 14:12

Софт не идеален. Если HTTP-сервер работает с главным образом, он может выяснить, что-то внутреннее не так, и выдать вам ошибку 500. Здесь, похоже, впереди находится балансировщик нагрузки, который половину времени обслуживает недопустимые ответы. Не все в сети работает должным образом.

Martijn Pieters 26.11.2018 14:13

А пока что пошлость вроде рассеялась. Я думаю, мы удалили плохие ответы от балансировщика нагрузки или кеша, или чего-то еще, что служило для этих плохих ответов.

Martijn Pieters 26.11.2018 14:15
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
7
42
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сервер просто сломан, в половине случаев. Ничто из того, что вы можете сделать на стороне клиента, не исправит этого. Это не проблема Python или requests.

Когда вы используете базовые сетевые инструменты, такие как curl, иногда вы будете сталкиваться с теми же проблемами:

$ curl -D - http://1490korn.com
HTTP/1.1 302 Found
Pragma: no-cache
cache-control: no-cache
Location: /
Connection: close
Date: Mon, 26 Nov 2018 13:08:44 GMT

Переключатель командной строки -D - указывает curl записывать полученные заголовки.

На этот раз заголовок Date присутствовал, а путь Location все еще неверен, но неверен по-другому. Похоже, что сервер испытывает некоторые проблемы с надежностью, потому что, когда вы повторяете команду несколько раз, некоторые ответы остаются полными:

$ curl -D - http://1490korn.com
HTTP/1.1 301 Moved Permanently
Server: nginx/1.12.2
Date: Mon, 26 Nov 2018 13:10:01 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Location: http://www.kornradio.com
Connection: Keep-Alive

Это правильный ответ; обратите внимание на множество различий в заголовках.

Другие вопросы по теме