Запросы Python обычно используются для извлечения содержимого из определенного URI ресурса. Всякий раз, когда мы делаем запрос к указанному URI через Python, он возвращает объект ответа. Теперь этот объект ответа будет использоваться для доступа к определенным функциям, таким как содержимое, заголовки и т.д. Эта статья посвящена тому, как проверить response.is_permanent_redirect из объекта ответа. response.is_permanent_redirect возвращает значение True, если ответ является постоянным перенаправленным URL-адресом, в противном случае значение False. Перенаправление 301 — это постоянное перенаправление с одного URL-адреса на другой. 301 перенаправление отправляет посетителей сайта и поисковые системы на URL-адрес, отличный от того, который они первоначально ввели в своем браузере или выбрали на странице результатов поиска.
Как использовать response.is_permanent_redirect с использованием запросов Python?
Чтобы проиллюстрировать использование response.is_permanent_redirect, давайте пропингуем programbox.ru. Чтобы запустить этот скрипт, на вашем компьютере должны быть установлены Python и запросы.
Предпосылки:
- Скачайте и установите последнюю версию Python 3
- Как установить запросы на Python – для Windows, Linux, Mac
Пример кода:
# import requests module
import requests
# Making a get request
response = requests.get('https://programbox.ru')
# print response
print(response)
# print is_permanent_redirect flag
print(response.is_permanent_redirect)
Пример реализации:
Сохраните указанный выше файл как request.py и запустите с помощью:
Python request.py
Выход:
Проверьте, что False в начале вывода, это показывает, что is_permanent_redirect
это ложь.
Передовые Концепции
Существует множество библиотек для выполнения HTTP-запроса на Python, таких как httplib, urllib, httplib2, treq и т.д., Но запросы являются одними из лучших с интересными функциями. Если какой-либо атрибут запросов показывает значение NULL, проверьте код состояния, используя атрибут ниже.
requests.status_code
Если код состояния не находится в диапазоне 200-29. Вероятно, вам нужно проверить метод begin, используемый для отправки запроса + URL-адрес, который вы запрашиваете для ресурсов.