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