Pubblicato il

python

http

requests

get


come inviare una richiesta HTTP GET con Python e requests, guida in italiano

Ciao a tutti e benvenuti in questa piccola guida Python dove andremo a vedere come inviare una richiesta di tipo GET usando il modulo ‘requests’.

Che cos’è una richiesta GET

La richiesta GET appartiene al protocollo http ed è un modo per richiedere appunto delle risorse posizionate in un certo luogo. Quando il vostro browser naviga ad un sito come www.devnews.it, dietro le quinte viene inviata una richiesta del tipo GET che richiede una rappresentazione in forma di codice HTML, CSS, JS etc. Queste risorse sono posizionate in nel server del sito visitato. Le richieste HTTP incluso le richieste GET, possono essere generate anche programmaticamente, per esempio usando un linguaggio di programmazione come Python. Un utilizzo molto comune della richiesta GET è quello di richiedere una risorsa da una API, per esempio la API di un sistema di previsioni meteo, informazioni sul traffico stradale, ed altro.

A cosa serve il modulo requests per Python

Il modulo requests è un modulo per Python che ci permette di creare vari tipi di richieste HTTP e manipolare i vari parametri che compongono una richiesta http come headers, dati di form, etc.

Oggi vedremo come inviare una richiesta GET utilizzando proprio questo modulo.

Come installare il modulo requests

Come per la maggior parte dei moduli per Python, installare requests è molto facile e può essere fatto tramite l’uso di pip, un manager di moduli e dependency per Python.

Per installare requests globalmente sul vostro PC potete eseguire questo comando da una finestra del Terminal / cmd:

pip install requests

Se invece non volete installare il modulo globalmente, potete fare uso di un virtualenv. Se non sapete come utilizzare un virtual env potete leggere questa guida.

Come creare una richiesta GET con Python e requests

Per testare la nostra applicazione faremo uso di un servizio molto utile per i web developer che lavorano molto con le richieste http. Questo servizio di chiama JSON test: http://www.jsontest.com/

JSON test ci permette di testare le nostre richieste GET, mettendo a disposizione una API aperta al pubblico. Nel nostro caso andremo ad inviare una richieste GET al seguente url:

http://echo.jsontest.com/key/value/one/two


Se navigate a questo URL dal vostro browser vedrete che ci verranno mostrati dei valori di test in formato JSON.

Vediamo se riusciamo ad ottenere questi valori nel nostro programma Python.

import requests
r = requests.get('http://echo.jsontest.com/key/value/one/two')
print(r.text)
  1. Come prima cosa dobbiamo importare il modulo requests
  2. Poi creiamo un richiesta GET utilizzando la funzione requests.get()
  3. Stampiamo il contenuto della risposta HTTP contenuta in r.text

Se eseguiamo questo script da un terminal, dovremmo vedere in uscita un testo in formato JSON del tipo:

{
    "one": "two",
    "key": "value"
}


Vediamo insieme ora altre funzionalità del modulo requests nel contesto di richieste GET In particolare vediamo come ottenere le seguenti informazioni:

  • Oggetti JSON
  • Codici di stato
  • Headers http
  • Informazioni sui re-indirizzamenti 


import requests
r = requests.get('http://echo.jsontest.com/key/value/one/two')
print(r.text) # contenuto della risposta HTTP
print(r.json) # oggetto JSON
print(r.status_code) # codice di status
print(r.headers) # informazione contenuta negli headers della risposta
print(r.history) # informazioni sui reindirizzamenti


Ci siamo ora sapete come creare una richiesta GET utilizzando il modulo requests per Python.

Se hai una domanda puoi chiedere qualsiasi cosa nei commenti in basso

Grazie per aver letto questa guida su Devnews.it

Spero ti sia stata utile in qualche modo. Ti prego di supportare questa pagina mettendo mi piace alle nostre pagine social cliccando un basso, dove pubblichiamo regolermente notizie, tutorial e fatti curiosi sull'informatica. Grazie e ci vediamo alla prossima :)