3

我使用 WebClient 处理来自 WP7 应用程序的大部分请求。根据 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 回答