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