Skift brugeragent med curl for at få URL Source Code som andet OS og browser

Ved hjælp af curl kan vi hente HTML og CSS kildekoden til en bestemt webadresse og endda http header info, men nogle websteder tjener helt andet indhold eller HTML til forskellige OS og browser versioner. Dette gøres ved at registrere deres brugeragent. På grund af dette kan vi spoof brugeragenten for en anden browserversion og operativsystem, og det gør det muligt for webudviklere hurtigt at få adgang til disse alternative variationer af en kildekode til en websites. Til dette formål opnår vi dette fra kommandolinjen ved at bruge krøllet.

Den grundlæggende syntaks for spoofing user agent med curl kommandoen er som følger:

curl -A "UserAgentString" http://url.com

Selvfølgelig erstatter du UserAgentString med en legitim brugeragentstreng, der matcher den browser, du ønsker at efterligne.

Lad os se på et par eksempler med forskellige brugeragentstrenger.

En af de mest almindelige situationer i forskellige kilde HTML og CSS er til websteder med fjernet mobile versioner, du kunne hente iPhone-specifik kildekode med:

curl -A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5" http://www.apple.com

Nogle websteder gør det også med andre browsere. Dette ville være Chrome 12 i Mac OS X 10.6.8:

curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" http://microsoft.com

Her er en anden, der spoof Mac App Store og Mac OS X 10.6.7 som en brugeragent og er nyttig til at spørge App Store fra et script (mere om det på 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/

Endnu en anden spoofs Windows XP med 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

Du kan finde brugeragentstrenger over hele internettet, bare sørg for at medtage dem i citater, hvis du vil hente en sitesource som brugeragenten. Hvis du vil læse mere om brugeragenter, har Wikipedia en god post på emnet.

Bemærk: Dette er med vilje gjort via kommandolinjen og rettet mod dem, der kan lide at arbejde fra Terminal, men der er nemme måder at gøre dette ved hjælp af standard grafiske applikationer og webbrowsere som Safari, Chrome og Firefox. Safari er nok det enkleste, fordi du kan indstille forskellige brugeragenter direkte fra Developer-menuen:

Dette skærmbillede blev taget fra en artikel om at få Facebook Video Chat-opkald til at fungere i OS X Lion, hvilket opnås ved at ændre browserbrugeragenten til en version, som Facebook har fundet forenelig.