Python - Códigos de status de solicitação

Depois de receber e interpretar uma mensagem de solicitação, um servidor responde com uma mensagem de resposta HTTP. A mensagem de resposta possui um código de status. É um número inteiro de 3 dígitos onde o primeiro dígito do código de status define a classe de resposta e os dois últimos dígitos não têm qualquer função de categorização. Existem 5 valores para o primeiro dígito:

Códigos de status

SN Código e Descrição
1 1xx: Informational

Isso significa que a solicitação foi recebida e o processo continua.

2 2xx: Success

Isso significa que a ação foi recebida, compreendida e aceita com sucesso.

3 3xx: Redirection

Isso significa que outras ações devem ser tomadas para concluir a solicitação.

4 4xx: Client Error

Isso significa que a solicitação contém sintaxe incorreta ou não pode ser atendida.

5 5xx: Server Error

Isso significa que o servidor falhou em atender a uma solicitação aparentemente válida.

Resposta Bem Sucedida

No exemplo abaixo, acessamos um arquivo de uma url e a resposta é bem-sucedida. Portanto, o código de status retornado é 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

Quando executamos o programa acima, obtemos a seguinte saída -

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

Resposta sem sucesso

No exemplo abaixo, acessamos um arquivo de uma url que não existe. A resposta não teve sucesso. Portanto, o código de status retornado é 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

Quando executamos o programa acima, obtemos a seguinte saída -

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