🛠 Récupérer une page web en HTTP simple

Arduino MKR WiFi 1010 · intermediaire · Schéma : IMG-mkr-wifi-1010-intermediaire-2-mkrwifi-http-get.svg — Requête HTTP GET émise par la MKR WiFi 1010 connectée en station vers un serveur distant sur le port 80, réponse affichée dans le moniteur série.

Objectifs

Après la connexion station du tuto précédent, établir un socket TCP brut sur le port 80 avec WiFiClient et écrire à la main une requête HTTP/1.1 (GET, en-tête Host, Connection: close), puis lire la réponse octet par octet. On comprend ce qu'une bibliothèque HTTP « haute couche » fait à notre place — et pourquoi le HTTPS viendra juste après.

Matériel

Code complet

#include <WiFiNINA.h>

const char* SSID = "votre-ssid";
const char* PASS = "votre-mot-de-passe";
WiFiClient client;   // TCP simple (WiFiSSLClient pour TLS)

void setup {
  Serial.begin(115200);
  WiFi.begin(SSID, PASS);
  while (WiFi.status != WL_CONNECTED) { delay(500); Serial.print("."); }
  Serial.printf("\nIP: %s\n", WiFi.localIP.toString.c_str);

  if (client.connect("example.com", 80)) {
    client.println("GET / HTTP/1.1");
    client.println("Host: example.com");
    client.println("Connection: close");
    client.println;                    // ligne vide = fin d'en-tetes
    while (client.available)
      Serial.write(client.read);
    client.stop;                       // libere la connexion
  } else {
    Serial.println("Connexion TCP refusee");
  }
}

void loop { delay(60000); }  // une seule requette suffit

Vérification attendue

Le moniteur série déverse le HTML complet de la page (en-têtes de réponse + corps). client.stop doit être appelé pour libérer le socket du module ; sinon les connexions suivantes peuvent rester bloquées. Sur un réseau captif (hôtel, entreprise), la connexion TCP aboutit mais renvoie la page d'authentification à la place.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels