3

WP7 アプリからのほとんどのリクエストに WebClient を使用しています。Google App Engine のログによると、UserAgent は「NativeHost」です。代わりに appname、appversion + phone を使用したいと思います。

WebClient または GZip WebClient を使用しているときにこの文字列を変更することはできますか?

4

2 に答える 2

1

さて、現在の作業ソリューション:

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;

さて、アプリが実行されている電話のメーカーについて、どれだけの情報を取得できるか見てみましょう...

于 2012-11-09T11:45:03.510 に答える
0

はい、WebClientクラスで UserAgent 文字列を手動で指定する必要があります。

WebClient client = new WebClient ();

client.Headers.Add ("user-agent", "My App; V=2.1, PhoneType");

明らかに、UserAgent で使用する値 (AppName、Version、および Phone) を指定/導出する必要があります。

于 2012-11-09T11:05:26.373 に答える