Modifiez l'agent utilisateur avec curl pour obtenir le code source de l'URL en tant que navigateur OS & différent
En utilisant curl, nous pouvons récupérer le code source HTML et CSS de n'importe quelle URL spécifiée et même les informations d'en-tête http, mais certains sites proposent un contenu ou HTML complètement différent à différentes versions de système d'exploitation et de navigateur, cela se fait en détectant leur agent utilisateur. Pour cette raison, nous pouvons usurper l'agent utilisateur d'une autre version de navigateur et d'un autre système d'exploitation, ce qui permet aux développeurs Web d'accéder rapidement à ces variantes alternatives du code source d'un site.Pour les besoins ici, nous y parviendrons à partir de la ligne de commande en utilisant curl. La syntaxe de base pour usurper l'agent utilisateur avec la commande curl est la suivante :
curl -A UserAgentString>"
Bien sûr, vous remplacerez UserAgentString par une chaîne d'agent utilisateur légitime qui correspond au navigateur que vous souhaitez imiter.
Regardons quelques exemples avec différentes chaînes d'agent utilisateur.
L'une des situations les plus courantes de différents codes source HTML et CSS concerne les sites Web avec des versions mobiles simplifiées. Vous pouvez récupérer le code source spécifique à l'iPhone avec :
"curl -A Mozilla/5.0 (iPhone ; U ; CPU iPhone OS 4_3_3 comme Mac OS X ; en-us) AppleWebKit/533.17.9 (KHTML, comme Gecko ) Version/5.0.2 Mobile/8J2 Safari/6533.18.5 http://www.apple.com"
Certains sites le font également avec d&39;autres navigateurs. Ce serait Chrome 12 sous Mac OS X 10.6.8 : curl -A Mozilla/5.0 (Macintosh ; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, comme Gecko) Chrome/12.0.742.112 Safari/534.30 http://microsoft.com"
En voici un autre qui usurpe le Mac App Store et Mac OS X 10.6.7 en tant qu'agent utilisateur et est utile pour interroger l'App Store à partir d'un script (plus à ce sujet sur TUAW) :
"curl -silent -A iMacAppStore/1.0.1 (Macintosh ; U ; Intel Mac OS X 10.6.7 ; en) AppleWebKit/533.20.25 http:// ax.search.itunes.apple.com/"
Encore une autre usurpation de Windows XP avec Firefox 3 :
"curl -A Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 http:/ /yahoo.com"
Vous pouvez trouver des chaînes d'agent utilisateur partout sur le Web, assurez-vous simplement de les inclure entre guillemets si vous souhaitez récupérer une source de sites en tant qu'agent utilisateur. Si vous voulez en savoir plus sur les agents utilisateurs, Wikipedia a une bonne entrée sur le sujet.
Remarque : Ceci est fait intentionnellement via la ligne de commande et destiné à ceux qui aiment travailler depuis le terminal, mais il est facile des moyens de le faire via des applications graphiques standard et des navigateurs Web tels que Safari, Chrome et Firefox.Safari est probablement le plus simple, car vous pouvez définir différents agents utilisateurs directement depuis le menu Développeur :
Cette capture d'écran a été tirée d'un article sur le fonctionnement des appels de chat vidéo Facebook sous OS X Lion, ce qui est accompli en changeant l'agent utilisateur du navigateur vers une version que Facebook a jugée compatible.