Web浏览器导航用户代理

时间:2011-10-30 07:39:14

标签: c# silverlight windows-phone-7 browser

我正在尝试使用以下代码强制在我的应用中使用webbrowser的用户代理。

webBrowser.Navigate("http://localhost/run.php", null, null, "User-Agent: Here Put The User Agent");

然而VS不接受这个代码,给我错误。

方法'导航'没有重载需要4个参数

我错过了什么?

2 个答案:

答案 0 :(得分:3)

根据thisthis,Silverlight中没有Navigate个参数可用 - 所以VS是正确的......您展示的代码适用于.NET 4但不是Silverlight。

我没有看到在Silverlight WebBrowser控件中设置任何标题的选项,所以我怀疑你想要的是Silverlight不可能...根据你的用例,它可能会被使用WebClient和/或HttpWebRequest来实现您的目标(请注意这些不会呈现!)。

答案 1 :(得分:0)

您可能想尝试这种方法:使用WebClient手动下载HTML内容并设置UserAgent标头(webClient.Headers [HttpRequestHeader.UserAgent] =“我的自定义用户代理字符串”),然后将内容设置为WebBrowser控件使用NavigateToString方法。

某些标题限制在Silverlight中使用,并且在Silverlight for Windows Phone中有不同的限制,而且我在这个分数上至少被误导了一次,所以如果您有写入权限,我不知道如果不尝试并运行它平台上的UserAgent。

您可能还需要将Accept标头设置为类似“application / xhtml + xml,text / html, / ”的值,这是IE9用于Accept标头的值; “text / html”可能会很好;不设置Accepts标头也可能有用。