У меня много URL-адресов, каждый из которых перенаправляется на новый URL-адрес.
Я хочу получить новые URL-адреса без получения всего содержимого (HTTP GET).
на самом деле может быть несколько перенаправлений на конечный URL-адрес, т.е. история ответов на запросы похожа на [<Response [301]>, <Response [303]>, <Response [302]>, <Response [302]>]
Есть ли способ сделать это в python-запросах?
На уровне HTTP мне интересно, доступен ли для этого заголовок или что-то еще.
Игнорирование тела GET в запросах python
Ответы (1)
Ваш первоначальный запрос будет иметь статус 3xx
, а заголовок Location
будет указывать на новый URL. С python-requests
вы должны делать запросы с allow_redirects=False
:
r = requests.get('http://github.com', allow_redirects=False)
Видеть это:
http://docs.python-requests.org/en/latest/user/quickstart/#redirection-and-history
person
freakish
schedule
09.04.2015
спасибо, причудливый, вопрос обновлен, мой случай что-то особенное
- person pajooh; 09.04.2015
@pajooh Если есть несколько перенаправлений, и вы априори не знаете, сколько их будет, то вы ничего не можете сделать, кроме как вызвать их все.
- person freakish; 27.04.2015