Ändern Sie den Benutzer-Agent mit curl, um URL-Quellcode als anderes Betriebssystem und Browser zu erhalten

Mit curl können wir den HTML- und CSS-Quellcode jeder angegebenen URL und sogar die http-Header-Informationen abrufen. Einige Websites bieten jedoch völlig unterschiedliche Inhalte oder HTML-Versionen für unterschiedliche Betriebssystem- und Browserversionen. Dies geschieht durch die Erkennung ihres Benutzeragenten. Aus diesem Grund können wir den Benutzeragenten einer anderen Browserversion und eines anderen Betriebssystems fälschen, wodurch Webentwickler schnell auf diese alternativen Varianten des Quellcodes einer Website zugreifen können. Für die Zwecke hier erreichen wir dies von der Kommandozeile aus mit curl.

Die grundlegende Syntax für das Spoofing des Benutzeragenten mit dem Befehl curl lautet wie folgt:

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

Natürlich ersetzen Sie UserAgentString durch eine legitime User-Agent-Zeichenfolge, die mit dem Browser übereinstimmt, den Sie nachahmen möchten.

Sehen wir uns ein paar Beispiele mit verschiedenen User-Agent-Strings an.

Eine der häufigsten Situationen unterschiedlicher HTML- und CSS-Quellen sind Websites mit abgespeckten mobilen Versionen. Sie können iPhone-spezifischen Quellcode abrufen mit:

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

Einige Websites tun dies auch mit anderen Browsern. Dies wäre 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

Hier ist eine weitere, die den Mac App Store und Mac OS X 10.6.7 als User Agent vortäuscht und nützlich ist, um den App Store von einem Skript abzufragen (mehr dazu auf 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/

Noch eine Parodie auf Windows XP mit 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

Sie können User-Agent-Zeichenfolgen überall im Web finden. Stellen Sie sicher, dass Sie sie in Anführungszeichen einschließen, wenn Sie eine Site-Quelle als diesen User-Agent abrufen möchten. Wenn Sie mehr über Benutzeragenten lesen möchten, hat Wikipedia einen guten Einstieg in das Thema.

Hinweis: Dies geschieht absichtlich über die Befehlszeile und richtet sich an diejenigen, die gerne vom Terminal aus arbeiten, aber es gibt einfache Möglichkeiten, dies über standardmäßige grafische Anwendungen und Webbrowser wie Safari, Chrome und Firefox zu erreichen. Safari ist wahrscheinlich die einfachste, da Sie verschiedene Benutzeragenten direkt über das Entwicklermenü einstellen können:

Dieser Screenshot stammt aus einem Artikel über das Erhalten von Facebook Video Chat-Anrufen in OS X Lion, was dadurch erreicht wird, dass der Browser-User-Agent in eine Version geändert wird, die Facebook für kompatibel hält.