Python - Żądaj kodów stanu

Po odebraniu i zinterpretowaniu komunikatu żądania serwer odpowiada komunikatem odpowiedzi HTTP. Komunikat odpowiedzi ma kod stanu. Jest to 3-cyfrowa liczba całkowita, w której pierwsza cyfra kodu statusu określa klasę odpowiedzi, a dwie ostatnie nie pełnią żadnej roli w kategoryzacji. Pierwsza cyfra ma 5 wartości:

Kody stanu

SN Kod i opis
1 1xx: Informational

Oznacza to, że żądanie zostało odebrane i proces jest kontynuowany.

2 2xx: Success

Oznacza to, że działanie zostało pomyślnie odebrane, zrozumiane i zaakceptowane.

3 3xx: Redirection

Oznacza to, że należy podjąć dalsze działania w celu uzupełnienia wniosku.

4 4xx: Client Error

Oznacza to, że żądanie zawiera nieprawidłową składnię lub nie może zostać spełnione.

5 5xx: Server Error

Oznacza to, że serwer nie spełnił pozornie ważnego żądania.

Pomyślna odpowiedź

W poniższym przykładzie uzyskujemy dostęp do pliku z adresu URL i odpowiedź jest pomyślna. Więc zwrócony kod statusu to 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

Po uruchomieniu powyższego programu otrzymujemy następujący wynik -

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

Nieudana odpowiedź

W poniższym przykładzie uzyskujemy dostęp do pliku z adresu URL, który nie istnieje. Odpowiedź nie powiodła się. Więc zwrócony kod statusu to 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

Po uruchomieniu powyższego programu otrzymujemy następujący wynik -

<!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