Запросы - обработка перенаправления

В этой главе мы рассмотрим, как библиотека запросов обрабатывает случай перенаправления URL.

пример

import requests
getdata = requests.get('http://google.com/')
print(getdata.status_code)
print(getdata.history)

URL: http://google.com будет перенаправлен с кодом статуса 301 (перемещен навсегда) на https://www.google.com/. Перенаправление будет сохранено в истории.

Вывод

Когда приведенный выше код выполняется, мы получаем следующий результат -

E:\prequests>python makeRequest.py
200
[<Response [301]>]

Вы можете остановить перенаправление URL-адреса, используя allow_redirects = False. Это можно сделать с помощью используемых методов GET, POST, OPTIONS, PUT, DELETE, PATCH.

пример

Вот пример того же.

import requests
getdata = requests.get('http://google.com/', allow_redirects=False)
print(getdata.status_code)
print(getdata.history)
print(getdata.text)

Теперь, если вы проверите вывод, перенаправление не будет разрешено и получит код состояния 301.

Вывод

E:\prequests>python makeRequest.py
301
[]
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>