Игнорирование тела GET в запросах python

У меня много URL-адресов, каждый из которых перенаправляется на новый URL-адрес.
Я хочу получить новые URL-адреса без получения всего содержимого (HTTP GET).
на самом деле может быть несколько перенаправлений на конечный URL-адрес, т.е. история ответов на запросы похожа на [<Response [301]>, <Response [303]>, <Response [302]>, <Response [302]>]
Есть ли способ сделать это в python-запросах?
На уровне HTTP мне интересно, доступен ли для этого заголовок или что-то еще.


person pajooh    schedule 09.04.2015    source источник


Ответы (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
comment
спасибо, причудливый, вопрос обновлен, мой случай что-то особенное - person pajooh; 09.04.2015
comment
@pajooh Если есть несколько перенаправлений, и вы априори не знаете, сколько их будет, то вы ничего не можете сделать, кроме как вызвать их все. - person freakish; 27.04.2015