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