Winforms WebBrowser 控件 URL 参数
Posted
技术标签:
【中文标题】Winforms WebBrowser 控件 URL 参数【英文标题】:Winforms WebBrowser Control URL Parameters 【发布时间】:2013-02-15 11:50:45 【问题描述】:我使用 Visual Studio 2010。我编写 C# windows 应用程序。我不会在这个应用程序中使用 WebBrowser 组件。我有一个问题。我在具有名称 URL 的 WebBrowser 参数中写了一些地址。结果 WebBrowser 重定向到另一个 http 地址。这个新地址包含带有一些参数的 http 字符串。像这样:
http://oauth.vk.com/blank.html#access_token=9e4b021cb7dd54c795ef1c106f6c0063ef5bc4491f3e6c9e518728b969df58576ebd80dc283e1c7068ac5&expires_in=0&user_id=66476428
我想从这个名为 access_token 的新地址读取参数。但是当我试图获取 WebBrowser 组件的参数 URL 时(像这样
MessageBox.Show(webBrowser1.Url.ToString());
) 然后我只读取这个字符串:
http://oauth.vk.com/blank.html
如何读取 access_token 参数?
【问题讨论】:
您确定已将完整的 url 添加到 webbrowser1 控件的 URL 属性中吗?因为如果你这样做了 .ToString() 应该给你完整的 URL。你能把你在 webBrowser1.Url = ??? 中输入的屏幕截图或代码放上去吗? 是的,当然。但它是不变的网址。我在属性面板中写了这个。请参阅此打印屏幕:cs308917.userapi.com/v308917428/4d1b/QEYpR7KSkjw.jpg 【参考方案1】:尝试使用webBrowser1.Url.Query
获取uri的查询字符串部分,然后解析字符串得到access_token部分。
您可以通过像这样向 System.Web 添加引用来使用HttpUtility
var q = HttpUtility.ParseQueryString(webBrowser1.Url.Query);
var access_token = q["access_token"];
【讨论】:
以上是关于Winforms WebBrowser 控件 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章
在 WinForms WebBrowser 控件中设置常规文本大小选项
如何在winforms的WebBrowser控件中调用javascript?
WPF 和 WinForms WebBrowser 控件之间存在哪些功能差异?
Flash 视频在 WinForms WebBrowser 控件中显示不稳定