Python - Statuscodes anfordern
Nach dem Empfang und der Interpretation einer Anforderungsnachricht antwortet ein Server mit einer HTTP-Antwortnachricht. Die Antwortnachricht hat einen Statuscode. Es ist eine dreistellige Ganzzahl, bei der die erste Ziffer des Statuscodes die Antwortklasse definiert und die letzten beiden Ziffern keine Kategorisierungsrolle haben. Es gibt 5 Werte für die erste Ziffer:
Statuscodes
SN | Code und Beschreibung |
---|---|
1 | 1xx: Informational Dies bedeutet, dass die Anfrage empfangen wurde und der Prozess fortgesetzt wird. |
2 | 2xx: Success Dies bedeutet, dass die Aktion erfolgreich empfangen, verstanden und akzeptiert wurde. |
3 | 3xx: Redirection Dies bedeutet, dass weitere Maßnahmen ergriffen werden müssen, um die Anforderung abzuschließen. |
4 | 4xx: Client Error Dies bedeutet, dass die Anforderung eine falsche Syntax enthält oder nicht erfüllt werden kann. |
5 | 5xx: Server Error Dies bedeutet, dass der Server eine scheinbar gültige Anforderung nicht erfüllt hat. |
Erfolgreiche Antwort
Im folgenden Beispiel greifen wir über eine URL auf eine Datei zu und die Antwort ist erfolgreich. Der zurückgegebene Statuscode lautet also 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
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
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
Erfolglose Antwort
Im folgenden Beispiel greifen wir über eine nicht vorhandene URL auf eine Datei zu. Die Antwort ist nicht erfolgreich. Der zurückgegebene Statuscode lautet also 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
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
<!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