Cambia User Agent con arricciamento per ottenere il codice sorgente URL come OS e Browser diversi

Usando il ricciolo possiamo recuperare il codice sorgente HTML e CSS di qualsiasi URL specificato e anche le informazioni dell'intestazione http, ma alcuni siti offrono contenuti completamente diversi o HTML a diverse versioni di SO e browser, questo viene fatto rilevando il loro agente utente. Per questo motivo, possiamo spoofare l'agente utente di un'altra versione del browser e del sistema operativo, e questo consente agli sviluppatori web di ottenere rapidamente l'accesso a quelle varianti alternative del codice sorgente di un sito. Per gli scopi qui, otterremo questo dalla riga di comando usando curl.

La sintassi di base per lo spoofing di un utente con il comando curl è la seguente:

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

Ovviamente sostituirai UserAgentString con una stringa di utente legittimo che corrisponde al browser che desideri imitare.

Diamo un'occhiata ad alcuni esempi con varie stringhe di user agent.

Una delle più comuni situazioni di diversa origine HTML e CSS è per i siti Web con versioni mobili ridotte, è possibile recuperare il codice sorgente specifico per iPhone con:

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

Alcuni siti lo fanno anche con altri browser. Questo sarebbe Chrome 12 in 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

Eccone un'altra che altera Mac App Store e Mac OS X 10.6.7 come agente utente ed è utile per interrogare l'App Store da uno script (maggiori informazioni su 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/

Ancora un'altra parodia di Windows XP con 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

Puoi trovare le stringhe degli user agent su tutto il Web, assicurati di includerle tra virgolette se desideri recuperare un'origine dei siti come tale utente. Se vuoi saperne di più sugli user agent, Wikipedia ha una buona voce sull'argomento.

Nota: Questo è intenzionalmente fatto attraverso la linea di comando e rivolto a coloro che amano lavorare dal Terminale, ma ci sono modi semplici per farlo attraverso applicazioni grafiche standard e browser Web come Safari, Chrome e Firefox. Safari è probabilmente il più semplice, perché puoi impostare diversi programmi utente direttamente dal menu Sviluppatore:

Questo screenshot è stato preso da un articolo su come ottenere chiamate di video chat di Facebook per funzionare in OS X Lion, che si ottiene modificando l'agente utente del browser su una versione che Facebook ha ritenuto compatibile.