Учебники

Python — Запросить коды состояния

После получения и интерпретации сообщения-запроса сервер отвечает сообщением-ответом HTTP. Ответное сообщение имеет код состояния. Это трехзначное целое число, где первая цифра кода состояния определяет класс ответа, а две последние цифры не имеют никакой роли категоризации. Для первой цифры есть 5 значений:

Коды состояния

SN Код и описание
1 1xx: информационный

Это означает, что запрос был получен, и процесс продолжается.

2 2xx: успех

Это означает, что действие было успешно получено, понято и принято.

3 3xx: перенаправление

Это означает, что для выполнения запроса необходимо предпринять дальнейшие действия.

4 4xx: ошибка клиента

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

5 5xx: ошибка сервера

Это означает, что серверу не удалось выполнить явно допустимый запрос.

Это означает, что запрос был получен, и процесс продолжается.

Это означает, что действие было успешно получено, понято и принято.

Это означает, что для выполнения запроса необходимо предпринять дальнейшие действия.

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

Это означает, что серверу не удалось выполнить явно допустимый запрос.

Успешный ответ

В приведенном ниже примере мы получаем доступ к файлу с URL-адреса, и ответ успешен. Таким образом, возвращается код состояния 200.

import urllib3
http = urllib3.PoolManager()

resp = http.request('GET', 'http://tutorialspoint.com/robots.txt')
print resp.data

# get the status of the response
print resp.status

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

User-agent: *
Disallow: /tmp
Disallow: /logs
Disallow: /rate/*
Disallow: /cgi-bin/*
Disallow: /videotutorials/video_course_view.php?*
Disallow: /videotutorials/course_view.php?*
Disallow: /videos/*
Disallow: /*/*_question_bank/*
Disallow: //*/*/*/*/src/*

200

Неудачный ответ

В приведенном ниже примере мы получаем доступ к файлу с URL, который не существует. Ответ неудачен. Таким образом, возвращается код состояния 403.

import urllib3
http = urllib3.PoolManager()

resp = http.request('GET', 'http://tutorialspoint.com/robot.txt')
print resp.data

# get the status of the response
print resp.status

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

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /robot.txt
on this server.</p>
</body></html>

403