Comment définir l'agent utilisateur dans Curl

Comment définir l'agent utilisateur dans Curl
Une chaîne d'agent utilisateur décrit diverses informations sur le serveur auquel vous essayez de vous connecter, par exemple, le type de navigateur, la version du navigateur, le système d'exploitation, etc. Chaque fois que vous parcourez le Web, votre navigateur Web comprend automatiquement ces données dans l'en-tête HTTP. Selon l'agent utilisateur, le serveur peut répondre différemment.

Le boucle La commande est un outil puissant pour les développeurs pour transférer des données vers et depuis les serveurs. C'est basé sur le libcurl bibliothèque de développement, compatible avec la plupart des autres bibliothèques. Nous pouvons utiliser le boucle commande pour imiter différents agents utilisateur lors de la communication avec un serveur.

Curl User-Agent

La commande curl envoie son propre agent utilisateur dans la demande HTTP par défaut. Le boucle User-Agent suit la structure suivante:

$ curl /

Pour obtenir le numéro de version de boucle, Utilisez la commande suivante:

$ curl --version

Comme le rapporte la sortie, c'est v7.68.0. Ainsi, l'agent utilisateur par défaut de Curl ressemblerait à ceci:

$ curl / 7.68.0

Définition de l'agent utilisateur personnalisé dans boucle

On peut dire boucle Pour envoyer une autre chaîne d'agent utilisateur à la place. Pour ce faire, utilisez le drapeau «-a» pour décrire le nouvel agent utilisateur. La structure de commande ressemblera à ceci:

$ curl -a ""

Le drapeau «-a» est une abréviation de l'option «-User-Agent». Nous pouvons également l'utiliser pour une meilleure clarification:

$ curl - user-agent ""

Une autre méthode que nous pouvons utiliser est le drapeau «-h."Ce drapeau permet de modifier un seul paramètre d'un en-tête supplémentaire boucle demande. La structure de commande ressemblerait à ceci:

$ curl -h "utilisateur-agent:"

Obtenir un agent utilisateur personnalisé

Maintenant, il s'agit d'obtenir un agent utilisateur personnalisé. Tout agent utilisateur se compose de plusieurs variables (système d'exploitation, version du navigateur, type de navigateur, etc.), chacun avec plusieurs valeurs possibles. Cela pousse facilement le nombre d'agents utilisateur possibles à des millions.

Si vous êtes intéressé, consultez cette base de données WhatismyBrowser sur de nombreux agents utilisateur. La base de données massive enregistre des millions d'agents utilisateurs uniques. À des fins de démonstration, j'utiliserai la chaîne d'agent utilisateur suivant:

$ Mozilla / 5.0 (x11; Linux x86_64) Applewebkit / 537.36 (khtml, comme gecko) Chrome / 99.0.4844.74 Safari / 537.36

Cet agent utilisateur décrit les informations suivantes:

  • Système d'exploitation: Linux (x86_64)
  • Navigateur: chrome
  • Version du navigateur: 99.0.4844.74

Notez qu'il n'y a pas de norme établie pour définir un agent utilisateur. Cela conduit à une gamme très large (et sauvage) de cordes d'agent utilisateur.

Envoi d'agents utilisateur personnalisés en utilisant boucle

Maintenant que nous avons la main sur l'agent utilisateur souhaité, nous montrerons comment l'implémenter. Dans l'exemple suivant, nous allons envoyer une demande à l'exemple.com à l'aide de notre chaîne d'agent utilisateur personnalisé:

$ curl - user-agent "Mozilla / 5.0 (x11; Linux x86_64) Applewebkit / 537.36 (khtml, comme gecko) Chrome / 99.0.4844.74 Safari / 537.Exemple de 36 ".com

En utilisant le mode verbeux, nous pouvons voir des informations supplémentaires que Curl envoie au serveur distant:

$ curl --verbose - user-agent "Mozilla / 5.0 (x11; Linux x86_64) Applewebkit / 537.36 (khtml, comme gecko) Chrome / 99.0.4844.74 Safari / 537.Exemple de 36 ".com

Dernières pensées

Ce guide démontre la définition d'un agent utilisateur personnalisé dans Curl. Selon l'agent utilisateur, le service de demande peut répondre différemment. Le boucle La commande envoie son propre agent utilisateur par défaut. Cependant, il permet de spécifier un agent utilisateur différent pour ses demandes Web.

Ce n'est qu'un seul moyen d'utiliser la commande curl. Consultez ce guide sur Curl dans Linux qui démontre de nombreuses façons d'utiliser Curl (avec des exemples). Comme toujours, il est également recommandé de jeter un œil à la page de l'homme:

$ man curl

Happy Computing!