解析包含元和javascript重定向的超链接的最终URL

时间:2013-11-12 23:32:17

标签: c# .net

我有一个包含重定向到最终目标网址的网址的数据库。我需要解析最终目标网址。

301/302标题的某些重定向可以很容易地解决:

WebRequest request = WebRequest.Create(destination);
WebResponse response = request.GetResponse();
Console.WriteLine(response.ResponseUri);

然而,大多数都是通过javascript,元重定向或可能的其他一些客户端方式重定向的。 由于原始URL来自各种来源,我无法解析HTML以查找特定的javascript。

我认为唯一的方法是使用原始URL从控制台应用程序中启动Web浏览器,等待几秒钟,然后重定向,然后查询最终的URL。任何人都可以建议可以使用哪些内置的.NET程序集/ COM对象,或者是一个不错的库,也许还有一些示例代码。

也对替代解决方案感兴趣。非常感谢。

1 个答案:

答案 0 :(得分:0)

我想不出任何通用的方法来识别JavaScript重定向而不是启动某种类型的Web浏览器来解释JavaScript。也就是说,有一个System.Windows.Forms.WebBrowser控件,您可以将其用于此目的而无需委托给外部应用程序。当然,您可以在隐藏控件时与控件进行交互。它有各种可以附加的事件,以便检测何时发生重定向。