Python - cliente HTTP

No protocolo http, a solicitação do cliente chega ao servidor e busca alguns dados e metadados, supondo que seja uma solicitação válida. Podemos analisar essa resposta do servidor usando várias funções disponíveis no módulo de solicitações do python. Aqui, os programas python abaixo são executados no lado do cliente e exibem o resultado da resposta enviada pelo servidor.

Obtenha uma resposta inicial

No programa a seguir, o método get do módulo de requisições busca os dados de um servidor e são impressos em formato de texto simples.

import requests
r = requests.get('https://httpbin.org/')
print(r.text)[:200]

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

<!DOCTYPE html >
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>httpbin.org</title>
  <link 
href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+

Obter resposta do objeto da sessão

O objeto Session permite que você mantenha certos parâmetros nas solicitações. Ele também persiste os cookies em todas as solicitações feitas na instância da Sessão. Se você estiver fazendo várias solicitações ao mesmo host, a conexão TCP subjacente será reutilizada.

import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/31251425')
r = s.get('http://httpbin.org/cookies')
print(r.text)

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

{"cookies":{"sessioncookie":"31251425"}}

Tratamento de erro

No caso de ocorrer algum erro devido ao problema no processamento da solicitação pelo servidor, o programa python pode manipular normalmente a exceção gerada usando o parâmetro de tempo limite, conforme mostrado abaixo. O programa aguardará o valor definido do erro de tempo limite e, em seguida, levantará o erro de tempo limite.

requests.get('http://github.com', timeout=10.001)