Come è possibile eseguire la POST di un contenuto JSON con le requests Python? È quello che scoprirai con questo articolo!
Tra tutte le potenzialità di Python, linguaggio di programmazione che ho ampiamente trattato qui nel blog, c’è senza dubbio quella di eseguire richieste HTTP.
Alcune volte però, può capitare di doverne eseguire di tipo POST e in aggiunta agganciare al body della richiesta un contenuto JSON.
Come fare?
Ciao mi chiamo Lorenzo Neri e sono un informatico: mi occupo di realizzare contenuti che aiutino persone come te a padroneggiare l’arte del nuovo millennio, l’informatica!
Ciò detto vediamo come poter fare tutto questo.
POST JSON con un dizionario Python
A tutti gli effetti, per facilitarci il lavoro, in Python qualunque contenuto JSON può essere strutturato con dizionari e liste e di fatto ne ho parlato abbondantemente qui.
Ma non solo: ci manca un pezzetto.
Python offre al suo interno di pacchetti inclusi, quello noto come “requests”. Per poter eseguire una “requests POST JSON” abbiamo bisogno senza dubbio anche di lui.
Oltre all’URL dell’endpoint a cui desideri effettuare la richiesta, c’è un altro parametro che devi usare per agganciare il JSON al corpo della richiesta HTTP.
Come?
Così come ti mostro in questo esempio:
import requests
richiesta = requests.post('http://sitoweb.it/metodo_post', json={"chiave": "valore"})
Le requests fatte in POST e con un contenuto JSON funzionano anche per leggere quello presente nella risposta, se c’è!
Come?
Banalmente, la variabile “richiesta” che sto usando nel codice di prima, se previsto ovviamente dall’endpoint invocato, avrà al suo interno un attributo, che indovina un po’ come si chiama?
richiesta.json()
Ecco quindi come usare le requests POST con tanto di JSON in Python.