如何在Windows Phone 7 webclient请求中更改“NativeHost”字符串

时间:2012-11-09 10:15:39

标签: windows-phone-7 webclient

我使用WebClient来处理来自WP7应用程序的大多数请求。 根据Google App Engine日志,UserAgent是“NativeHost”。 我想用appname,appversion + phone代替。

使用WebClient或GZip WebClient时是否可以更改此字符串?

2 个答案:

答案 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)中指定/派生您要使用的值。