Python: client HTTP

Nel protocollo http, la richiesta del client raggiunge il server e recupera alcuni dati e metadati supponendo che sia una richiesta valida. Possiamo analizzare questa risposta dal server utilizzando varie funzioni disponibili nel modulo delle richieste python. Qui i seguenti programmi python vengono eseguiti sul lato client e visualizzano il risultato della risposta inviata dal server.

Ottieni risposta iniziale

Nel programma seguente il modulo get method from requests recupera i dati da un server e viene stampato in formato di testo normale.

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

Quando eseguiamo il programma sopra, otteniamo il seguente output:

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

Ottieni risposta all'oggetto della sessione

L'oggetto Session consente di rendere persistenti determinati parametri tra le richieste. Inoltre, mantiene i cookie in tutte le richieste effettuate dall'istanza di Session. Se stai effettuando più richieste allo stesso host, la connessione TCP sottostante verrà riutilizzata.

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 eseguiamo il programma sopra, otteniamo il seguente output:

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

Errore di gestione

Nel caso in cui venga sollevato un errore a causa di un problema nell'elaborazione della richiesta da parte del server, il programma python può gestire correttamente l'eccezione sollevata utilizzando il parametro timeout come mostrato di seguito. Il programma attenderà il valore definito dell'errore di timeout e quindi genererà l'errore di timeout.

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