Vue d'ensemble

Requests 2.27, publié le 4 janvier 2022, marque la dépréciation officielle du support de Python 2 et introduit charset_normalizer comme dépendance optionnelle.

Fonctionnalités principales

Dépréciation de Python 2

Cette version émet un avertissement lors de l'utilisation avec Python 2. Les futures versions de Requests ne supporteront plus Python 2, encourageant la migration vers Python 3.

python
import requests

# Requête GET simple
response = requests.get('https://httpbin.org/get')
print(response.status_code)  # 200
print(response.json()['origin'])

# Requête POST avec JSON
data = {'nom': 'Alice', 'age': 30}
response = requests.post('https://httpbin.org/post', json=data)
print(response.json()['json'])  # {'nom': 'Alice', 'age': 30}

charset_normalizer

La bibliothèque charset_normalizer remplace progressivement chardet pour la détection d'encodage. Elle est plus rapide et sous licence MIT.

python
import requests

# charset_normalizer détecte l'encodage automatiquement
response = requests.get('https://httpbin.org/encoding/utf8')
print(response.encoding)  # utf-8 (détecté automatiquement)
print(response.apparent_encoding)  # utf-8

# Forcer un encodage si nécessaire
response.encoding = 'utf-8'
print(len(response.text))

Sources