開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

HTMLを文字列として直接ダウンロードするときスマホサイトをリクエストする

 WindowsPhoneアプリを作っていて、先にHTMLをダウンロードしておいてなんか処理して表示する処理を書きました。
 しかし表示されるのはPC用サイトばかりでした(´・ω・`)
 スマホサイトのHTMLをリクエストする方法をいろいろ調べたので、メモしておきます。

 やることはズバリHTTPヘッダーのUser-Agentの書き換えです。

 List of HTTP header fields - Wikipedia, the free encyclopedia
 ここに書かれているうち、User-Agentスマホのものに書き換えます。

 例えばこんなかんじに。

var request = (HttpWebRequest)WebRequest.Create(uri);
requestTempFile.UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 625; Orange)"; // 書き換え
request.BeginGetResponse(CallbackFunction, request);

 User-Agentの設定にはこちらのサイトを参考にさせてもらいました。
 User Agent Strings

 これでバッチリスマホサイトが表示されるようになります。

f:id:hihokaruta:20140530220303p:plain:w240f:id:hihokaruta:20140530220308p:plain:w240