Byt användaragent med curl för att få URL-källkod som olika operativsystem och webbläsare

Med hjälp av curl kan vi hämta HTML- och CSS-källkoden för en viss webbadress och till och med http-headerinformationen, men vissa webbplatser serverar helt annat innehåll eller HTML till olika operativsystem och webbläsarversioner. Detta görs genom att upptäcka deras användaragent. På grund av detta kan vi spoofa användaragenten för en annan webbläsareversion och operativsystem, och det gör det möjligt för webbutvecklare att snabbt få tillgång till de alternativa variationerna av en källkod för en webbplats. För syftet här kommer vi att uppnå detta från kommandoraden genom att använda curl.

Den grundläggande syntaxen för spoofing user agent med curl kommandot är som följer:

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

Självklart ersätter du UserAgentString med en legitim användaragentsträng som matchar webbläsaren du vill efterlikna.

Låt oss titta på några exempel med olika användaragentsträngar.

En av de vanligaste situationerna med olika källor HTML och CSS är för webbplatser med avvecklade mobila versioner. Du kan hämta iPhone-specifik källkod 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

Vissa webbplatser gör det även med andra webbläsare. Det här är 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

Här är en annan som spoofar Mac App Store och Mac OS X 10.6.7 som en användaragent och är användbar för att fråga App Store från ett 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/

En annan 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 hitta användaragentsträngar över hela webben, var noga med att inkludera dem i citat om du vill hämta en webbplatskälla som användaragent. Om du vill läsa mer om användaragenter har Wikipedia en bra post om ämnet.

Obs! Det här är avsiktligt gjort via kommandoraden och riktat till dem som gillar att arbeta från Terminal, men det finns enkla sätt att göra detta via standard grafiska applikationer och webbläsare som Safari, Chrome och Firefox. Safari är förmodligen det enklaste, eftersom du kan ställa in olika användaragenter direkt från utvecklarmenyn:

Denna skärmdump togs från en artikel om att få Facebook Video Chat-samtal att fungera i OS X Lion, vilket uppnås genom att ändra användaragenten för webbläsaren till en version som Facebook har ansett vara kompatibel.