我正在尝试使用以下代码强制在我的应用中使用webbrowser的用户代理。
webBrowser.Navigate("http://localhost/run.php", null, null, "User-Agent: Here Put The User Agent");
然而VS不接受这个代码,给我错误。
方法'导航'没有重载需要4个参数
我错过了什么?
答案 0 :(得分:3)
根据this和this,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标头也可能有用。