【问题标题】:Webbrowser navigate user agent网络浏览器导航用户代理
【发布时间】:2011-12-18 03:10:49
【问题描述】:

我正在尝试使用以下代码在我的应用程序中强制使用网络浏览器的用户代理。

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

但是 VS 不接受这个代码,给我错误。

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

我错过了什么?

【问题讨论】:

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


    【解决方案1】:

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

    我没有看到在 Silverlight WebBrowser 控件中设置任何标题的选项,因此我怀疑 Silverlight 无法实现您想要的功能...根据您的用例,可能可以使用 @987654323 @ 和/或 HttpWebRequest 来实现你想要的(注意这些不会渲染!)。

    【讨论】:

    • 是的,我还听说 uri 是使用 SL 导航的唯一选项,我只是想尝试一下,看看是否有我遗漏的东西。谢谢。
    【解决方案2】:

    您可能想尝试这种方法:使用 WebClient 手动下载 HTML 内容并设置 UserAgent 标头 (webClient.Headers[ HttpRequestHeader.UserAgent ] = "my custom user agent string"),然后将内容设置到 WebBrowser 控件中使用 NavigateToString 方法。

    某些标头在 Silverlight 中的使用受到限制,而在 Silverlight for Windows Phone 中存在不同的限制,我在这方面至少被误导过一次,所以如果您有写入权限,我不知道如果不尝试并运行它平台上的 UserAgent。

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

    【讨论】:

    • 尽管这可能有效,但不幸的是,它会破坏 html 代码中可能存在的任何相对 url。
    猜你喜欢
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    相关资源
    最近更新 更多