Python: cliente HTTP

En el protocolo http, la solicitud del cliente llega al servidor y obtiene algunos datos y metadatos asumiendo que es una solicitud válida. Podemos analizar esta respuesta del servidor usando varias funciones disponibles en el módulo de solicitudes de Python. Aquí, los siguientes programas de Python se ejecutan en el lado del cliente y muestran el resultado de la respuesta enviada por el servidor.

Obtenga una respuesta inicial

En el siguiente programa, el método de obtención del módulo de solicitudes obtiene los datos de un servidor y se imprimen en formato de texto sin formato.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Obtener respuesta de objeto de sesión

El objeto Session le permite conservar ciertos parámetros en las solicitudes. También conserva las cookies en todas las solicitudes realizadas desde la instancia de sesión. Si realiza varias solicitudes al mismo host, se reutilizará la conexión TCP subyacente.

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

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

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

Error de manejo

En caso de que se produzca algún error debido a un problema en el procesamiento de la solicitud por parte del servidor, el programa Python puede manejar con gracia la excepción generada utilizando el parámetro de tiempo de espera como se muestra a continuación. El programa esperará el valor definido del error de tiempo de espera y luego generará el error de tiempo de espera.

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