【问题标题】:How to get full URL from WebBrowser?如何从 WebBrowser 获取完整的 URL?
【发布时间】:2013-11-20 11:13:09
【问题描述】:

大家好,我正在使用 webbrower 来获取网站的访问令牌。该网站将 webbrower 重定向到包含访问令牌的 url,重定向的 url 如下所示:

http://www.myurl.us/#access_token=e0a81edc8de4886b7cc514bcb2b93e06666bd0d8&expires_in=3600&token_type=bearer&refresh_token=72e302438349b32a627b12c92b01060169443a9b&account_username=

在我的网络浏览器的 DocumentCompleted 事件中,我正在使用以下代码:

Dim pretoken As String
    Dim url As String = WebBrowser1.Url.ToString
    If url.Contains("myurl.us") Then
        pretoken = WebBrowser1.Url.ToString
        MessageBox.Show(pretoken)
    End If

消息框只显示“myurl.us”,而不是带有我需要的令牌的完整 url。无论如何要从网络浏览器获取整个网址?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    你试过Url.AbsoluteUri.ToString(),喜欢:

      Dim url As String = WebBrowser1.Url.AbsoluteUri.ToString()
    

    小心AbsoluteUri不是AbsoluteUrl

    【讨论】:

    • 嘿,谢谢,试过了,还是不行。我仍然被重定向到 myurl.us 而不是 myurl.us/#access_token=... 等。我知道它是 webbrowser 的一个问题,因为它在 chrome 中运行良好。会不会是网络浏览器在删除 # 之后的所有内容?
    • 尝试直接从浏览器浏览,它会自动将您重定向到myurl.us/?nr=0,所以更像是网络服务器自动将您重定向到myurl.us/?nr=0链接。我尝试了 DocumentCompleted 事件,它显示了您在我的案例中发布的带有 # 的原始完整路径 URL。
    • 很高兴知道它对你有用@ZachJohnson。快乐的编码和上帝保佑。
    【解决方案2】:
    Dim sPagePath As String = System.Web.HttpContext.Current.Request.Url.AbsolutePath
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 2017-04-22
      • 2014-07-04
      • 1970-01-01
      • 2013-04-08
      • 2012-04-13
      • 2018-10-19
      相关资源
      最近更新 更多