Skip to main content
 首页 » 编程设计

c#之如何在 C# WebBrowser 控件中获取重定向的 url

2024年01月13日30lyhabc

我有一个加载网页,进行一些计算,然后将 JavaScript 重定向到另一个网页。它看起来像这样:

http://www.mysite.com/startpage.html

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
$(document).ready(function() { 
    window.location = "http://www.mynewurl.com"; 
}); 
</head> 
<body> 
Something 
</body> 
</html> 

现在我有一个加载 WebBrowser 控件的 asp.net MVC 应用程序,我的目标是能够从中检索 http://www.mynewurl.com在我的 C# WebBrowser 控件中。

我的 WebBrowser 代码如下:

WebBrowser webBrowser = new WebBrowser 
                                    { 
                                        ScrollBarsEnabled = false, 
                                        Size = new Size(Width, Height), 
                                        ScriptErrorsSuppressed = true 
                                    }; 
 
    webBrowser.NewWindow += WebBrowserNewWindow; 
    webBrowser.Navigate("http://www.mysite.com/startpage.html"); 
 
 
    //wait for it to load 
    while (webBrowser.ReadyState != WebBrowserReadyState.Complete) 
    { 
        Application.DoEvents(); 
    } 
 
    Uri myUrl = webBrowser.Url;  //This is how I have been trying to get it. 

所以当我加载我的 webBrowser 控件时,我将它发送到 http://www.mysite.com/startpage.html。它执行到 http://www.mynewurl.com 的 javascript 重定向。我想以某种方式在我的 C# 代码中捕获该 url。

关于如何实现这一点有什么想法吗?

请您参考如下方法:

也许是 HttpWebRequest.Referer?或者可以附加您需要的任何数据作为查询字符串。