Glossaire

Qu'est-ce qu'un User Agent ?

Un User-Agent est un en-tête de requête HTTP qui identifie le logiciel client effectuant la requête — incluant généralement le nom du navigateur, la version, le système d'exploitation et le moteur de rendu — comme 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'.

Comprenez la chaîne User-Agent, pourquoi c'est le signal le plus facile qu'utilisent les sites web pour identifier les scrapers, et comment faire tourner les User-Agents avec vos IP sans compromettre votre empreinte.

Expliqué

L'en-tête User-Agent est l'un des plus anciens éléments d'identification sur le web. Chaque requête HTTP envoyée par un client inclut une ligne `User-Agent:` qui indique le logiciel client (navigateur ou bibliothèque), sa version, le système d'exploitation et souvent le moteur de rendu. Les serveurs l'utilisent pour la négociation de contenu (mises en page mobile ou bureau), l'analyse et, de plus en plus, la détection de bots.

Pour le scraping, le User-Agent est le signal le plus simple à mal configurer. Les User-Agents par défaut des bibliothèques HTTP courantes (`python-requests/2.31.0`, `axios/1.5.0`, `okhttp/4.10.0`) sont des indicateurs évidents. Même le User-Agent par défaut de Playwright et Puppeteer contient `HeadlessChrome`, que les systèmes anti-bot signalent instantanément.

La solution naïve consiste à définir un UA Chrome sur chaque requête. Le problème est que le User-Agent seul ne suffit pas — les empreintes modernes croisent l'UA avec les indices client `sec-ch-ua`, l'empreinte TLS, l'objet JavaScript navigator et l'en-tête Accept-Language. Définir un UA Chrome tout en laissant la négociation TLS de Python exposée crée un signal d'alerte plus important que de laisser simplement le UA par défaut en place.

Comment ça fonctionne

Lorsque votre client ouvre une connexion vers un serveur, la ligne de requête inclut des en-têtes. La ligne `User-Agent` en fait partie. Les serveurs l'analysent (ou la consignent simplement) et acheminent la requête en fonction de ce qu'ils voient. Un User-Agent Chrome moderne sous Windows ressemble à : `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`. Le préfixe 'Mozilla/5.0' est historique ; tous les navigateurs l'envoient pour des raisons de compatibilité avec les anciens systèmes.

Les vrais navigateurs envoient également des en-têtes `sec-ch-ua` (indices client 'Sec-CH-UA') dans le HTTP moderne, qui contiennent des données structurées sur le navigateur, la version et la plateforme. Les systèmes anti-bot les comparent à la chaîne User-Agent et signalent les incohérences. La rotation du User-Agent doit donc être associée à des mises à jour cohérentes de `sec-ch-ua-*` et à des empreintes TLS correspondantes.

Types

User-Agents de navigateurs de bureau

Chrome, Firefox, Edge, Safari sur Windows/macOS/Linux. La famille UA la plus courante pour le scraping de cibles web générales.

User-Agents de navigateurs mobiles

Chrome sur Android, Safari sur iOS, Samsung Internet. Nécessaire lors du scraping de sites ciblant les mobiles ou lors de l'association avec des proxies mobiles pour la cohérence des empreintes.

User-Agents de bots / robots d'indexation

UA d'identification comme `Googlebot/2.1`, `bingbot/2.0`. Utilisés par les robots d'indexation légitimes des moteurs de recherche ; certains sites les autorisent. Les usurper présente des risques juridiques et de violation des CGU.

User-Agents par défaut des bibliothèques

`python-requests/X.Y`, `curl/X.Y`, `Mozilla/5.0 (compatible; Java/X.Y)`. UA par défaut des bibliothèques HTTP — ne jamais les utiliser pour du scraping en production ; ils sont trivialement identifiables.

Cas d'utilisation courants

Identification du navigateur et du système d'exploitation du client pour la négociation de contenu
Analyse côté serveur et segmentation des visiteurs
Détection de bots (les UA par défaut des bibliothèques sont des indices évidents)
Sélection de la mise en page mobile ou bureau
Mise en cache par famille de navigateur
Rotation des User-Agents dans les scrapers pour imiter des utilisateurs réels variés
FAQ

Questions fréquentes Questions FAQ

Questions fréquentes sur user agent.

Utilisez un User-Agent récent et courant correspondant à une version de navigateur réelle publiée au cours des derniers mois. Chrome sur Windows ou macOS est un choix sûr par défaut. Faites tourner un petit pool d'UA récents plutôt que d'utiliser un UA fixe pour toutes les requêtes.