Aller au contenu

Envoyer une requête HTTP GET

Permet d'envoyer une requête HTTP GET en tant que client et de récupérer la réponse du serveur.

Branchement

Carte Galaxia

Exemple

Dans l'exemple ci-dessous, nous allons connecter le module ESP de la Galaxia à un réseau wifi grâce au module network (voir l'exemple se connecter à un réseau wifi). Nous enverrons ensuite une requête HTTP GET à l'adresse http://worldtimeapi.org/api/timezone/Europe/Paris pour récupérer l'heure actuelle en France, le tout grâce au module additionnel requests.

# On commence par importer les modules network et time
import network
import time

# On importe le module additionnel requests
import requests

# On spécifie les informations du réseau wifi
# (remplacez "mon_reseau" et "mon_mot_de_passe" 
# par les informations de votre réseau)
ssid = "mon_reseau"
password = "mon_mot_de_passe"

# On vient créer une instance de l'interface wifi en mode station
sta_if = network.WLAN(network.STA_IF)

# On active l'interface wifi
sta_if.active(True)

# Et on se connecte au réseau wifi
print(f"Connexion au réseau {ssid}...", end="")
if not sta_if.isconnected():
  sta_if.connect(ssid, password)
  while not sta_if.isconnected():
    print(".", end="")
    time.sleep(1)

# On affiche que la connexion a bien été établie
print(f"\nConnecté au réseau {ssid} !")

# On peut maintenant envoyer une requête HTTP GET pour obtenir l'heure actuelle en France
r = requests.get("https://worldtimeapi.org/api/timezone/Europe/Paris")

# On affiche la réponse du serveur si le code HTTP est 200 (OK)
if r.status_code == 200:
  # On affiche la réponse du serveur au format JSON
  print(f"Réponse du serveur : {r.json()}")

  # On peut aussi extraire des informations spécifiques de la réponse
  # Par exemple, l'heure actuelle en France contenue dans la valeur de l'élément 'datetime'
  print(f"Il est actuellement {r.json()['datetime'][11:16]} en France.")

Aller plus loin

Dans l'exemple ci-dessus, nous utilisons les dictionnaires, le module network qui est décrit en anglais ici et le module additionnel requests qui est décrit en anglais .