Requêtes HTTP en Python avec Requests : Guide complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que la bibliothèque Requests et pourquoi l'utiliser ?

La bibliothèque Requests est l'une des bibliothèques Python les plus populaires et les plus simples pour effectuer des requêtes HTTP. Elle offre une interface pratique pour envoyer des requêtes GET, POST, PUT, DELETE et autres types de requêtes HTTP avec un minimum de code.

Principaux avantages de la bibliothèque Requests

  • Syntaxe simple et API intuitive
  • Gestion intégrée des sessions et des cookies
  • Traitement automatique du JSON et des formulaires
  • Prise en charge de différentes méthodes d'authentification
  • Possibilité de travailler avec des serveurs proxy
  • Documentation complète en français et en anglais
  • Communauté de développeurs active et réactive

Installation de la bibliothèque Requests

L'installation de la bibliothèque Requests se fait via le gestionnaire de paquets pip. La procédure d'installation dépend de la version de Python que vous utilisez.

Installation standard

pip install requests

Installation pour Python 3

Si plusieurs versions de Python sont installées sur votre système, utilisez la commande pip3 pour installer dans l'environnement Python 3 :

pip3 install requests

Vérification de l'installation

Après l'installation, vous pouvez vérifier son bon déroulement en important la bibliothèque dans la console Python :

import requests
print(requests.__version__)

Les bases des requêtes GET

Les requêtes GET sont utilisées pour récupérer des données depuis un serveur web. C'est le type de requête HTTP le plus courant en développement web.

Requête GET simple

import requests

response = requests.get('https://api.github.com')
print(response.status_code)  # Statut de la réponse (200 = OK)
print(response.text)         # Corps de la réponse sous forme de chaîne

Analyse de la réponse du serveur

Lorsque vous travaillez avec des requêtes GET, il est important d'analyser correctement la réponse reçue. L'objet response contient de nombreux attributs utiles :

  • status_code - le code de statut HTTP de la réponse
  • text - le contenu de la réponse au format texte
  • content - le contenu de la réponse en octets
  • headers - les en-têtes de la réponse
  • url - l'URL finale de la requête

Utilisation des paramètres de requête

Les paramètres d'URL peuvent être transmis via un dictionnaire, ce qui rend le code plus lisible et plus facile à modifier :

params = {
    'q': 'programmation python',
    'page': 2,
    'limit': 50
}

response = requests.get('https://www.example.com/search', params=params)
print(response.url)  # Affiche l'URL construite avec les paramètres

Requêtes POST et envoi de données au serveur

Les requêtes POST sont utilisées pour envoyer des données à un serveur, par exemple lors du remplissage de formulaires ou de la création de nouvelles entrées dans une base de données.

Envoi de données de formulaire

data = {
    'username': 'admin',
    'password': '12345',
    'email': 'admin@example.com'
}

response = requests.post('https://httpbin.org/post', data=data)
print(response.text)

Envoi de données JSON

Lorsque vous travaillez avec des API modernes, il est souvent nécessaire d'envoyer des données au format JSON. La bibliothèque Requests définit automatiquement le bon Content-Type lorsque vous utilisez le paramètre json :

import json

data = {
    'name': 'Jean Dupont',
    'age': 30,
    'city': 'Paris'
}

response = requests.post('https://httpbin.org/post', json=data)
result = response.json()  # Conversion automatique de la réponse en JSON
print(result)

Différences entre les paramètres data et json

  • Le paramètre data envoie les données sous forme de formulaire (application/x-www-form-urlencoded)
  • Le paramètre json envoie les données au format JSON (application/json)

Blogs

Book Recommendations