🛠 Client HTTP : requête GET vers une API

Raspberry Pi Pico 2 W · intermediaire · Schéma : IMG-pico-2-w-intermediaire-5-pico2w-http-client-get.svg — Pico 2 W envoyant une requête HTTP GET vers un serveur distant via la box Internet, réponse JSON affichée en console.

Objetivos

Una vez conectado al Wi-Fi (tutorial de conexión), consultar una API HTTP: construir manualmente una solicitud GET, leer la respuesta, verificar el código de estado y extraer los datos. El CYW43439 está limitado a 2,4 GHz y su velocidad está limitada por el enlace SPI de ~33 MHz hacia el RP2350: mantenga las respuestas ligeras.

Material

Código completo

# main.py - MicroPython : GET HTTP sur le port 80
import network, socket, time

wlan = network.WLAN
wlan.active(True)
if not wlan.isconnected:
    wlan.connect('mon_ssid', 'mon_mot_de_passe')
    while not wlan.isconnected:
        time.sleep_ms(200)

hote = 'httpbin.org'
chemin = '/get'
s = socket.socket
s.connect(socket.getaddrinfo(hote, 80)[0][-1])
s.send(('GET %s HTTP/1.0\r\nHost: %s\r\nConnection: close\r\n\r\n'
        % (chemin, hote)).encode)
entete = s.readline                    # b'HTTP/1.1 200 OK'
print('Statut :', entete.decode.split[1])
while s.readline.strip:              # sauter les entetes
    pass
print('Corps :', s.read(120).decode)
s.close

En C, el pico-examples oficial pico_w/wifi/http_client (picow_http_client.c) hace lo mismo con tcp_new/tcp_write.

Verificación esperada

La consola muestra Estado: 200 y luego los primeros bytes del cuerpo JSON. Al cortar el Wi-Fi, la conexión falla correctamente con una excepción o un código de error en lugar de bloquear la placa.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales