WP7 アプリからのほとんどのリクエストに WebClient を使用しています。Google App Engine のログによると、UserAgent は「NativeHost」です。代わりに appname、appversion + phone を使用したいと思います。
WebClient または GZip WebClient を使用しているときにこの文字列を変更することはできますか?
WP7 アプリからのほとんどのリクエストに WebClient を使用しています。Google App Engine のログによると、UserAgent は「NativeHost」です。代わりに appname、appversion + phone を使用したいと思います。
WebClient または GZip WebClient を使用しているときにこの文字列を変更することはできますか?
さて、現在の作業ソリューション:
var headers = new WebHeaderCollection();
// http://dotnetbyexample.blogspot.fi/2011/03/easy-access-to-wmappmanifestxml-app.html
var am = new Util.AppManifest(); // gets appmanifest as per link above
var maker = Microsoft.Phone.Info.DeviceStatus.DeviceManufacturer;
var model = Microsoft.Phone.Info.DeviceStatus.DeviceName;
headers["user-agent"] = string.Format("{0} {1} {2} AppVersion {3}",
maker, model, "WP7.5", am.Version);
WebClient c = new WebClient();
c.Headers = headers;
さて、アプリが実行されている電話のメーカーについて、どれだけの情報を取得できるか見てみましょう...
はい、WebClientクラスで UserAgent 文字列を手動で指定する必要があります。
WebClient client = new WebClient ();
client.Headers.Add ("user-agent", "My App; V=2.1, PhoneType");
明らかに、UserAgent で使用する値 (AppName、Version、および Phone) を指定/導出する必要があります。