In questo articolo ti mostro una libreria molto famosa per Python che permette di effettuare richieste http in maniera semplice, veloce e lineare. Per poter seguire correttamente questo articolo ti consiglio fortemente di imparare almeno le basi dell’http giusto per aver ben chiaro di cosa si stia parlando.

https://it.wikipedia.org/wiki/Hypertext_Transfer_Protocol

1. Cosa è “requests”?

Requests è una libreria Python per richieste http, la si può installare attraverso pip lanciando il seguente comando

pip install requests

e di conseguenza possiamo importarla nei nostri file Python scrivendo

import requests

Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic, thanks to urllib3.

Sito ufficiale di requests

2. Codice di esempio per i principali metodi HTTP.

Di seguito incollo il contenuto di un file che permette di effettuare chiamate per i metodi GET, POST, PUT e DELETE

import requests

"""
    Programma di test per 
    richieste http attraverso la
    libreria requests
"""

API_URL = "https://jsonplaceholder.typicode.com/posts/"


# RICHIESTA GET
response = requests.get(API_URL)

print("Chiamata GET effettuata: " + str(response.status_code))

file = open("test.txt", "w")
file.write(response.text)

print("File Creato !!!")


# RICHIESTA POST
dict_to_post = {
    "title": "Titolo di prova",
    "body": "Corpo di prova"
}

response = requests.post(API_URL, dict_to_post)

print("Chiamata POST effettuata: " + str(response.status_code))


# RICHIESTA PUT
dict_to_put = {
    "title": "Titolo di prova",
    "body": "Corpo di prova"
}

response = requests.put(API_URL + "1", dict_to_put)

print("Chiamata PUT effettuata: " + str(response.status_code))


# RICHIESTA DELETE
response = requests.delete(API_URL + "1")
print("Chiamata DELETE effettuata: " + str(response.status_code))

Come puoi notare la sintassi per le varie richieste è molto compatta e semplice da capire, in questo esempio le chiamata sono state effettuate su un URL di test.

3. Conclusioni

La libreria “requests” è molto utilizzata anche in ambito di applicativi più complessi e quindi saperla usare correttamente è buona cosa. Ad esempio a me è capitato di dover scrivere una API in un progetto Django che andasse a restituire all’utente i dati del meteo presi da un servizio esterno, in quel caso ho utilizzato “requests” per prendere i dati dal servizio esterno.

Se hai letto qualche mio articolo passato ti sarai sicuramente accorto che ho usato la libreria requests in almeno un altro caso famoso, ovvero quando sono andato a costruire uno scraper per siti web.

Articolo per scraping

Anche questo piccolo articolo è giunto al termine, spero di esserti stato utile facendoti scoprire una libreria che magari non conoscevi, se hai dubbi o domande, come al solito non esitare a lasciare un commento qui sotto.

Ciao e alla prossima 🙂


0 commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *