Faire des requêtes HTTP en Python

Imaginons que nous voulions faire une requête vers l’API publique de GitHub, sur l’URL suivante : https://api.github.com/users/<user>/repos

Dans un premier temps on peu tester avec curl pour voir à quoi ressemble le résultat :

curl https://api.github.com/users/nikaro/repos

Pour cet exemple on obtient du JSON en réponse, bonne nouvelle Python sait travailler nativement avec JSON.

urllib

Si on veut utiliser la bibliothèque standard de Python, on peut utiliser urllib et json.

import json
import urllib.request

# on fait la requête HTTP
response = urllib.request.urlopen("https://api.github.com/users/nikaro/repos")
# on lit le contenu de la réponse
content_bytes = response.read()
# on décode la réponse au format binaire vers texte
content_string = content_bin.decode()
# on parse le texte en tant que JSON afin de "convertir" en objet Python
data = json.loads(content_text)

print(data[0]["htlm_url"])

httpx

Si on veut se faciliter la vie, surtout quand on commence à faire des choses plus compliqués, on peut utiliser la bibliothèque tierce HTTPX.

import httpx

response = httpx.get("https://api.github.com/users/nikaro/repos")
data = response.json()

Articles de blogs que je lis

Mon exposé sur la neutralité du code à Touraine Tech

Le 20 janvier de cette année, à la conférence informatique Touraine Tech (https://touraine.tech/), j'ai fait un exposé sur la neutralité du code. Lorsque le ou la développeureuse dit « je ne fais pas de politique, ce programme pourra être utilisé pour différents buts », est-ce possible ?
Blog de Stéphane Bortzmeyer · 23 janv. 2023

Libérons la culture pour cultiver la liberté

Libérons la culture pour cultiver la liberté Cette conférence a été donnée le 19 novembre 2022 à Toulouse dans le cadre du Capitole du Libre. Le texte est ma base de travail et ne reprend pas les nombreuses improvisations et disgressions inhérentes à chaque One Ploum Show. Visionner la conférence en vidéo (56 minutes) Attention ! Cette conréfence n’est pas une conréfence sur le cyclimse. Merci de votre compréhension. Qui d’entre vous a compris cette référence à « La classe américaine » ? Ça me …
Ploum.net · 23 janv. 2023

#56 : L'artificialisation des sols pour les nuls

« La fabrique de la ville est droguée au sol agricole et le sevrage est difficile » (Sylvain Grisot, urbaniste, auteur du “Manifeste pour un urbanisme circulaire”) « Sortir de notre addiction à l’artificialisation sera aussi complexe que sortir de notre addiction aux produits pétroliers »
Nourritures terrestres · 29 janv. 2023

Contra­ven­tions routières et propor­tion­na­lité aux reve­nus

« Il faut avoir des contra­ven­tions routières propor­tion­nelles aux reve­nus. » Je veux bien en discu­ter mais je ne trouve pas que ça aille de soi. J’ai trois contraintes pour les contra­ven­tions routières : Est-ce simple et auto­ma­ti­sable ? ✅ On peut imagi­ner une contra­ven­tion dépen­dante du quotient fami­lial. Ça complexi­fiera certai­ne­ment des choses mais ça ne me parait […]
Carnet de notes · 20 janv. 2023