2011-10-03 86 views
2

我在模拟器中看到的浏览器控件的当前用户代理是Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Microsoft; XDeviceEmulator),我想将其更改为Mozilla/5.0 Windows NT 6.1 AppleWebKit/535.1 KHTML, like Gecko Chrome/14.0.835.187 Safari/535.1或类似内容。Windows Phone 7网络浏览器控制用户代理

如何在C#中编写代码以更改Web浏览器控件的用户代理字符串。

+0

对于Windows Phone“Navigate”参数不会接受多个参数。你会得到“没有重载的方法”导航'需要4个参数“的错误。有一个类似的问题和答案在这里:[http://stackoverflow.com/questions/7943812/webbrowser-navigate-user-agent](http://stackoverflow.com/questions/7943812/webbrowser-navigate-user-agent ) – crazymatt

+0

Windows Phone具有3个参数的[WebBrowser.Navigate](http://msdn.microsoft.com/zh-cn/library/ff626636(v = vs.92).aspx)方法,它允许您发送您希望请求的HTTP头信息! –

+0

我很肯定,当我最初回答这个问题时,情况并非如此。我是否因为害怕失去所有的代表或删除新的细节而删除我的答案? – crazymatt

回答

7

找到了一种方法webBrowser.Navigate("http://localhost/run.php", null, "User-Agent: Here Put The User Agent");

+1

非常有用的信息,它实际上工作,感谢分享! – Roboblob

+0

@Jeyant:真的很有用的信息。我在我的应用程序中打开webbrowser,并希望在每个请求中修改useragent。可能吗? – Invincible

+0

如果你使用google,它会以桌面视图显示,但是当你点击页面并且浏览器导航时,它将返回到移动视图。 – Ravi

1

在Windows电话7.5,存在允许设置一个标题导航方法过载。有3个参数(URI,post_info,header_info),而不是4,如图所示。

超载对我有效。

祝你好运。 -e

0

会是这样的,在VB:

WebBrowser.Navigate(新的URI( “URL”),byteArr,HttpRequestHeader.UserAgent & “:” &“的Mozilla/5.0(Linux的;ü ; Android 2.3.4; fr-fr; HTC Desire Build/GRJ22)AppleWebKit/533.1(KHTML,如Gecko)Version/4.0 Mobile Safari/533.1“)

但是,我无法修改已附加到请求,你只能添加他们,我觉得很烦人。

任何人都可以成功做到这一点?

1

最后我发现了一个令人难以置信的简单答案,而且工作。

您只需编辑Web浏览器控件XAML即可。添加属性IsScriptEnabled =“True”

希望此解决方案有所帮助。

+1

这是回答这个问题吗?他们要求更改用户代理字符串。此答案似乎启用脚本支持。 – Todd

+0

我在浏览器控件导航任何网站时遇到同样的问题,并且未检测到该应用程序来自移动浏览器[未检测到用户代理],并且使用我上面发布的解决方案,它在没有明确指定用户的情况下为我工作代理在webbrowser.navigate方法中。这就是为什么我发布了答案。 –

+0

我可以吻你! –

相关问题