URL ソース コードを別の OS として取得するように curl を使用してユーザー エージェントを変更する & ブラウザ
curl を使用すると、指定された URL の HTML および CSS ソース コード、さらには http ヘッダー情報を取得できますが、一部のサイトでは、ユーザー エージェントを検出することによって、OS やブラウザーのバージョンが異なると、まったく異なるコンテンツや HTML が提供されます。このため、別のブラウザー バージョンとオペレーティング システムのユーザー エージェントになりすますことができます。これにより、Web 開発者は、サイトのソース コードの代替バリエーションにすばやくアクセスできます。ここでは、curl を使用してコマンド ラインからこれを実現します。 curl コマンドを使用してユーザー エージェントを偽装するための基本的な構文は次のとおりです。
curl -A UserAgentString>"
もちろん、UserAgentString を、模倣したいブラウザに一致する正当なユーザー エージェント文字列に置き換えます。
さまざまなユーザー エージェント文字列の例をいくつか見てみましょう。
さまざまなソースの HTML と CSS の最も一般的な状況の 1 つは、ウェブサイトのモバイル バージョンが簡素化されている場合です。iPhone 固有のソース コードは次のように取得できます:
"curl -A Mozilla/5.0 (iPhone; U; Mac OS X のような CPU iPhone OS 4_3_3; en-us) AppleWebKit/533.17.9 (Gecko のような KHTML) ) バージョン/5.0.2 Mobile/8J2 Safari/6533.18.5 http://www.apple.com"
一部のサイトでは、他のブラウザでもこれを行っています。これは Mac OS X 10.6.8 の Chrome 12 になります: curl -A Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (Gecko のような KHTML) Chrome/12.0.742.112 Safari/534.30 http://microsoft.com"
Mac App Store と Mac OS X 10.6.7 をユーザー エージェントとして偽装し、スクリプトから App Store にクエリを実行するのに役立つ別の例を次に示します (詳しくは 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/"
さらに別の Firefox 3 で Windows XP になりすます:
"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"
ユーザー エージェント文字列はウェブ全体で見つけることができますが、そのユーザー エージェントとしてサイト ソースを取得する場合は、それらを必ず引用符で囲んでください。ユーザー エージェントについて知りたい場合は、ウィキペディアにこのトピックに関する優れたエントリがあります。
注: これは意図的にコマンドラインから実行され、ターミナルから作業したい人を対象としていますが、簡単に標準のグラフィカル アプリケーションや、Safari、Chrome、Firefox などの Web ブラウザを使用してこれを行う方法。開発者メニューからさまざまなユーザー エージェントを直接設定できるので、おそらく Safari が最も簡単です:
このスクリーンショットは、Facebook のビデオ チャット通話を OS X Lion で機能させる方法に関する記事から取得したものです。これは、ブラウザのユーザー エージェントを Facebook が互換性があると見なしたバージョンに変更することによって実現されます。