我使用WebClient来处理来自WP7应用程序的大多数请求。 根据Google App Engine日志,UserAgent是“NativeHost”。 我想用appname,appversion + phone代替。
使用WebClient或GZip WebClient时是否可以更改此字符串?
答案 0 :(得分: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;
现在,让我们看看我可以获得有关应用程序运行的手机的信息量......
答案 1 :(得分:0)
是的,您必须在WebClient类上手动指定UserAgent字符串。
WebClient client = new WebClient ();
client.Headers.Add ("user-agent", "My App; V=2.1, PhoneType");
显然,您需要在UserAgent(AppName,Version和Phone)中指定/派生您要使用的值。