Endre brukeragent med krøll for å få URL-kildekode som annerledes OS og nettleser

Ved å bruke krøll kan vi hente HTML og CSS kildekoden til en hvilken som helst spesifisert nettadresse og til og med http-headerinfo, men noen nettsteder tjener helt annet innhold eller HTML til forskjellige OS- og nettleserversjoner. Dette gjøres ved å oppdage brukeragenten. På grunn av dette kan vi spoofe brukeragenten for en annen nettleserversjon og operativsystem, og dette gjør det mulig for webutviklere å raskt få tilgang til de alternative variasjonene i en kildekode for nettsteder. For formålet her oppnår vi dette fra kommandolinjen ved å bruke krøll.

Den grunnleggende syntaksen for spoofing brukeragent med curl-kommandoen er som følger:

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

Selvfølgelig erstatter du UserAgentString med en legitim brukeragentstreng som samsvarer med nettleseren du ønsker å etterligne.

La oss se på noen eksempler med ulike brukeragentstrenger.

En av de vanligste situasjonene med annen kilde HTML og CSS er for nettsteder med fjernet mobile versjoner, du kan hente iPhone-spesifikk kildekoden 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

Noen nettsteder gjør dette med andre nettlesere også. 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 annen som spoofer Mac App Store og Mac OS X 10.6.7 som brukeragent, og er nyttig for å spørre App Store fra et skript (mer 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/

Enda en annen 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 finne brukeragentstrenger over hele nettet, bare sørg for å inkludere dem i anførselstegn hvis du vil hente en nettstedskilde som brukeragenten. Hvis du vil lese mer om brukeragenter, har Wikipedia en god oppføring på emnet.

Merk: Dette er med vilje gjort gjennom kommandolinjen og rettet mot de som liker å jobbe fra Terminal, men det er enkle måter å gjøre dette på via standard grafiske applikasjoner og nettlesere som Safari, Chrome og Firefox. Safari er sannsynligvis det enkleste, fordi du kan angi forskjellige brukeragenter direkte fra Developer-menyen:

Dette skjermbildet ble hentet fra en artikkel om å få Facebook Video Chat-anrop til å fungere i OS X Lion, som er oppnådd ved å endre nettleserbrukeragenten til en versjon som Facebook har ansett å være kompatibel med.