我使用 WebClient 处理来自 WP7 应用程序的大部分请求。根据 Google App Engine 日志,UserAgent 是“NativeHost”。我想改用 appname、appversion + phone。
使用 WebClient 或 GZip WebClient 时是否可以更改此字符串?
我使用 WebClient 处理来自 WP7 应用程序的大部分请求。根据 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)。