Dans cet article sur l’agent utilisateur Postman, vous apprendrez :
- Pourquoi vous devez définir l’en-tête User-Agent
- À quoi ressemble l’agent utilisateur par défaut de Postman
- Comment modifier l’agent utilisateur dans les requêtes Postman
- Comment mettre en œuvre la rotation des agents utilisateurs dans Postman
C’est parti !
Pourquoi il est si important de définir un agent utilisateur personnalisé
L’en-tête User-Agent identifie le client qui envoie une requête HTTP à un serveur. Il contient généralement des informations sur l’ordinateur du client et/ou l’application qui envoie la requête. En général, cet en-tête est défini par les navigateurs Web, les clients HTTP ou tout logiciel qui effectue des requêtes Web.
Voici un exemple de chaîne User-Agent définie par Chrome lors de la demande d’une page Web :
Mozilla/5.0 (Macintosh ; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.0.0 Safari/537.36
L’en-tête User-Agent d’un navigateur comprend plusieurs composants :
Mozilla/5.0: initialement utilisé pour indiquer la compatibilité avec les navigateurs Mozilla, ce préfixe est désormais inclus pour une compatibilité plus large.Macintosh ; Intel Mac OS X 10_15_7: spécifie le système d’exploitation (Mac OS X 10_15_7) et la plate-forme (Intel Mac).AppleWebKit/537.36: fait référence au moteur de rendu utilisé par Chrome.- (
KHTML, comme Gecko) : indique la compatibilité avec les moteurs de mise en page KHTML et Gecko. Chrome/127.0.0.0: indique le nom et la version du navigateur.Safari/537.36: suggère la compatibilité avec Safari.
Les serveurs lisent généralement l’en-tête User-Agent pour déterminer si les requêtes qu’ils reçoivent proviennent d’un navigateur ou d’un autre logiciel.
Une erreur courante commise par les robots de Scraping web est l’utilisation de chaînes User-Agent par défaut ou non liées à un navigateur. Celles-ci entraînent des blocages par les technologies de protection anti-bot, car elles peuvent reconnaître la requête comme provenant d’un robot. Pour plus d’informations, consultez notre guide sur les agents utilisateurs pour le Scraping web.
Quel est l’agent utilisateur par défaut de Postman ?
Postman est l’un des clients HTTP de bureau les plus populaires, utilisé par des millions d’utilisateurs dans le monde entier. Comme la plupart des autres clients HTTP, il définit automatiquement un en-tête User-Agent par défaut pour chaque requête. Vous pouvez observer ce comportement en examinant les en-têtes Postman générés automatiquement :

Comme vous pouvez le constater, l’agent utilisateur par défaut de Postman suit ce format :
PostmanRuntime/x.y.z
« PostmanRuntime » identifie l’application Postman, tandis que « x.y.z » correspond au numéro de version actuel.
Pour vérifier que la chaîne ci-dessus est bien l’agent utilisateur Postman par défaut, effectuez une requête GET vers le point de terminaison httpbin.io/user-agent. Ce point de terminaison API renvoie l’en-tête User-Agent de la requête entrante, ce qui vous aide à identifier l’agent utilisateur utilisé par n’importe quel client HTTP.

Remarquez que l’agent utilisateur renvoyé par l’API correspond à celui défini par défaut par Postman. Plus précisément, l’agent utilisateur Postman est :
PostmanRuntime/7.41.0
Comme vous pouvez le constater, la chaîne d’agent utilisateur utilisée par Postman est très différente de celle définie par un navigateur comme Chrome. Lorsque les serveurs reçoivent des requêtes avec de tels en-têtes, les systèmes anti-bot sont susceptibles de les bloquer.
Cela s’explique par le fait que ces solutions surveillent les requêtes entrantes, à la recherche de modèles indiquant une activité de bot, tels que des agents utilisateurs inhabituels. C’est pourquoi il est si important de modifier l’agent utilisateur par défaut dans Postman !
Comment modifier l’agent utilisateur Postman
Il est temps de voir comment définir un agent utilisateur personnalisé dans Postman.
Définir l’agent utilisateur sur une seule requête
Postman vous permet de modifier l’agent utilisateur sur une seule requête HTTP en spécifiant manuellement un en-tête User-Agent.
Remarque: les en-têtes générés automatiquement par Postman ne peuvent pas être modifiés directement.
Accédez à l’onglet « En-têtes » et ajoutez un nouvel en-tête User-Agent:

Postman remplacera l’agent utilisateur par défaut généré automatiquement par la valeur de votre en-tête User-Agent. N’oubliez pas que les en-têtes HTTP ne sont pas sensibles à la casse, vous pouvez donc également appeler votre en-tête user-agent ou avec n’importe quelle autre casse.
Vérifiez que cette approche fonctionne en exécutant une requête GET vers le point de terminaison httpbin.io/user-agent:

Incroyable ! L’agent utilisateur renvoyé par l’API correspond à l’en-tête User-Agent personnalisé.
Définir l’agent utilisateur sur l’ensemble d’une collection
Une collection Postman est un groupe de requêtes API qui partagent généralement des caractéristiques communes, telles que le serveur cible ou la portée. En particulier, les points de terminaison d’une collection sont susceptibles d’avoir des configurations similaires. Ainsi, Postman prend en charge la définition de scripts personnalisés qui sont exécutés avant ou après chaque requête d’une collection.
Voyons comment utiliser ce mécanisme pour définir un agent utilisateur personnalisé pour toutes les requêtes d’une collection Postman !
Pour créer et gérer des collections Postman, vous devez d’abord vous connecter à votre compte. Si vous ne l’avez pas encore fait, créez un compte Postman.
Supposons maintenant que vous disposiez d’une collection appelée « HTTPBin » contenant les points de terminaison HTTPBin organisés en dossiers :

Exécutez la requête pour le point de terminaison /user-agent et vous obtiendrez l’agent utilisateur Postman par défaut :

Il est temps de changer cela en définissant un script de pré-requête qui définit un en-tête User-Agent personnalisé. Un script de pré-requête est un JavaScript que Postman exécute avant d’exécuter une requête dans une collection.
Suivez les instructions ci-dessous pour créer un script de pré-requête pour le paramétrage de l’agent utilisateur.
Double-cliquez sur votre collection, accédez à l’onglet « Scripts » et sélectionnez l’option « Pré-requête » :

Dans l’éditeur, collez le code suivant :
pm.request.headers.add({
key: "User-Agent",
value: "<your-user-agent>"
});
Remplacez la chaîne <votre-agent-utilisateur> par la valeur de l’agent utilisateur que vous souhaitez utiliser, comme ci-dessous :
pm.request.headers.add({
key: "User-Agent",
value: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
});
pm.request.headers.add() est une fonction spéciale de l’API Postman qui permet d’ajouter un en-tête spécifique à la requête.
Cliquez sur le bouton « Enregistrer » pour appliquer les modifications.
Exécutez à nouveau la requête pour le point de terminaison /user-agent:

Cette fois-ci, l’agent utilisateur renvoyé sera celui défini dans le script et non celui par défaut de Postman. Mission accomplie !
Désactiver l’agent utilisateur
L’en-tête User-Agent généré automatiquement est facultatif, et vous pouvez en fait le décocher. Une fois décoché, Postman n’enverra plus d’en-tête User-Agent.
Vérifiez cela en envoyant une requête au point de terminaison httpbin.io/headers, qui renvoie tous les en-têtes de la requête entrante :

Notez que l’objet headers renvoyé par le point de terminaison n’inclut pas la clé User-Agent.
Remarque: il n’est pas recommandé de désactiver l’en-tête User-Agent, car la plupart des requêtes Web incluent généralement cet en-tête.
Mettre en œuvre la rotation des agents utilisateurs dans Postman
Le simple fait de remplacer l’en-tête User-Agent par défaut de Postman par celui d’un navigateur peut ne pas suffire pour contourner les systèmes anti-bot. Cela est particulièrement vrai si vous envoyez de nombreuses requêtes avec des en-têtes identiques à partir de la même adresse IP.
Pour réduire le risque d’être détecté comme un bot dans Postman, vous devez varier vos requêtes. Une approche pratique consiste à utiliser un User-Agent différent pour chaque requête, une technique connue sous le nom de rotation des agents utilisateurs. Cette méthode réduit les chances que vos requêtes soient signalées comme automatisées.
Dans cette section étape par étape, vous apprendrez comment mettre en œuvre la rotation des agents utilisateurs dans Postman !
Étape n° 1 : récupérer une liste d’agents utilisateurs
Rendez-vous sur un site tel que WhatIsMyBrowser.com et remplissez une liste d’agents utilisateurs valides :
const userAgents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",
« Mozilla/5.0 (Linux ; Android 10 ; HD1913) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.6533.103 Mobile Safari/537.36 EdgA/127.0.2651.82 »,
« Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.0.0 Safari/537.36 »,
« Mozilla/5.0 (Macintosh ; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.0.0 Safari/537.36 »,
« Mozilla/5.0 (iPhone ; CPU iPhone OS 17_6 comme Mac OS X) AppleWebKit/605.1.15 (KHTML, comme Gecko) CriOS/127.0.6533.107 Mobile/15E148 Safari/604.1 »,
« Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64 ; rv:129.0) Gecko/20100101 Firefox/129.0",
"Mozilla/5.0 (Macintosh ; Intel Mac OS X 14.6 ; rv:129.0) Gecko/20100101 Firefox/129.0",
// autres agents utilisateurs...
];
Astuce: plus ce tableau contient d’agents utilisateurs réels, plus les chances de rotation sont élevées.
Étape n° 2 : choisir un agent utilisateur au hasard
Utilisez l’API Math de JavaScript pour sélectionner aléatoirement un agent utilisateur dans la liste :
const userAgent = serAgents[Math.floor(Math.random() * userAgents.length)];
Voici ce qui se passe dans cette ligne de code :
Math.random()génère un nombre aléatoire compris entre 0 et 1.- Le nombre généré est ensuite multiplié par la longueur du tableau
userAgents. Math.floor()arrondit le nombre obtenu à l’entier inférieur le plus proche inférieur ou égal au nombre source. Le nombre obtenu correspond à un index allant de 0 àuserAgents.length - 1.- L’index est utilisé pour accéder à un élément aléatoire du tableau des agents utilisateurs.
- L’agent utilisateur sélectionné aléatoirement est attribué à une variable.
Étape n° 3 : définir l’en-tête User-Agent
Utilisez pm.request.headers.add() pour définir un en-tête User-Agent avec la valeur aléatoire userAgent:
pm.request.headers.add({
key: "User-Agent",
value: userAgent
});
La requête HTTP de la collection aura désormais un en-tête User-Agent rotatif.
Étape n° 4 : rassembler tous les éléments
Voici votre script Postman final pour la rotation des agents utilisateurs :
// une liste d'agents utilisateurs valides
const userAgents = [
« Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86 »,
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.2651.86",
« Mozilla/5.0 (Linux ; Android 10 ; HD1913) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.6533.103 Mobile Safari/537.36 EdgA/127.0.2651.82 »,
« Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.0.0 Safari/537.36 »,
« Mozilla/5.0 (Macintosh ; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/127.0.0.0 Safari/537.36 »,
« Mozilla/5.0 (iPhone ; CPU iPhone OS 17_6 comme Mac OS X) AppleWebKit/605.1.15 (KHTML, comme Gecko) CriOS/127.0.6533.107 Mobile/15E148 Safari/604.1 »,
« Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64 ; rv:129.0) Gecko/20100101 Firefox/129.0 »,
« Mozilla/5.0 (Macintosh ; Intel Mac OS X 14.6 ; rv:129.0) Gecko/20100101 Firefox/129.0 »,
// autres agents utilisateurs...
];
// extraire aléatoirement un agent utilisateur de la liste
const userAgent = userAgents[Math.floor(Math.random() * userAgents.length)];
// définir l'en-tête de l'agent utilisateur aléatoire
pm.request.headers.add({
key: "User-Agent",
value: userAgent
});
Ajoutez-le à votre collection et vérifiez qu’il fonctionne en ciblant le point de terminaison httpbin.io/user-agent. Exécutez les requêtes plusieurs fois et vous verrez les agents utilisateurs tourner :

Parfait, l’agent utilisateur renvoyé change constamment.
Et voilà ! Vous savez maintenant comment implémenter la logique de rotation des agents utilisateurs Postman.
Lectures complémentaires
La modification de l’agent utilisateur par défaut n’est pas propre à Postman, mais s’applique à tous les clients HTTP et outils d’automatisation des navigateurs. Consultez nos guides :
- Guide de l’agent utilisateur cURL : configuration et modification
- Guide de l’agent utilisateur Wget : configuration et modification
- Guide de l’agent utilisateur Python Requests : configuration et modification
- Guide de l’agent utilisateur Selenium : configuration et modification
- Guide de l’agent utilisateur Node.js : configuration et modification
Conclusion
Dans cet article, vous avez compris pourquoi il est important de configurer l’en-tête User-Agent et vous avez découvert à quoi ressemble l’agent utilisateur Postman par défaut. Vous avez appris comment remplacer cette valeur et mettre en place une rotation des agents utilisateurs afin de contourner les mécanismes anti-bot de base. Cependant, les systèmes plus avancés seront toujours en mesure de bloquer vos requêtes. Pour éviter les interdictions d’adresse IP, vous pouvez utiliser un Proxy dans Postman, mais cela pourrait ne pas suffire !
Pour une solution plus complète, essayez Web Scraper API, une API de scraping de nouvelle génération que vous pouvez appeler depuis Postman ou tout autre client HTTP. Elle contourne efficacement les mesures anti-scraping et anti-bot grâce à des fonctionnalités intégrées telles que la rotation des adresses IP et des agents utilisateurs. Le Scraping web n’a jamais été aussi facile !
Inscrivez-vous dès aujourd’hui pour commencer votre essai gratuit.