Python - Solicitar códigos de estado

Después de recibir e interpretar un mensaje de solicitud, un servidor responde con un mensaje de respuesta HTTP. El mensaje de respuesta tiene un código de estado. Es un número entero de 3 dígitos donde el primer dígito del código de estado define la clase de respuesta y los dos últimos dígitos no tienen ningún rol de categorización. Hay 5 valores para el primer dígito:

Códigos de estado

SN Código y descripción
1 1xx: Informational

Significa que se recibió la solicitud y el proceso continúa.

2 2xx: Success

Significa que la acción se recibió, comprendió y aceptó correctamente.

3 3xx: Redirection

Significa que se deben tomar más medidas para completar la solicitud.

4 4xx: Client Error

Significa que la solicitud contiene una sintaxis incorrecta o no se puede cumplir.

5 5xx: Server Error

Significa que el servidor no cumplió con una solicitud aparentemente válida.

Respuesta exitosa

En el siguiente ejemplo, accedemos a un archivo desde una URL y la respuesta es correcta. Entonces, el código de estado devuelto es 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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Respuesta fallida

En el siguiente ejemplo accedemos a un archivo desde una url que no existe. La respuesta no tiene éxito. Entonces, el código de estado devuelto es 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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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