如何在c#中捕获JavaScriptHTTP重定向

本文关键字:JavaScriptHTTP 重定向 | 更新日期: 2023-09-27 18:19:59

我正在开发一个跟踪重定向的实用程序。HTTP重定向可以通过以下c#方法很好地处理:

  • HttpWebRequest
  • HttpWebResponse
  • WebHeaderCollection(位置已存档)

下一步是在通往最终页面的url旅程中包含javascript重定向。

  1. 如何在c#中捕获这种类型的重定向
  2. 是否有其他类型的重定向需要考虑

如何在c#中捕获JavaScriptHTTP重定向

如果您使用嵌入式javascript引擎并创建数据模型来模拟DOM和javascript API/原型的一些更常见的访问方面,那么您可以加载页面,执行任何和所有javascript代码,并让您的window.location属性设置器在设置事件时触发事件,然后像往常一样遵循该url。这允许您处理计算值以及标准

window.location = "/home";

C#的嵌入式javascript引擎并不短缺,以下是我发现非常好的几个:

Javascript.Net-使用谷歌的V8引擎。非常容易集成到应用程序中。唯一的缺点是在应用程序中保留一个非托管DLL。https://github.com/JavascriptNet/Javascript.Net

Jint(.Net的Javascript解释器)-真的很好。完全管理的代码。同样,易于在应用程序中集成。http://jint.codeplex.com/

这里真正的关键是模仿浏览器通常创建的内容。

您唯一实用的选择是使用完整的浏览器来实现这一点。您可以对WebForms使用WebBrowser控件,也可以对浏览器进行自动化(直接用于IE,或通过Selenium或WebAII等方式),或嵌入其他浏览器引擎(我认为WebKit有C#绑定…)。使用完整的浏览器引擎还可以处理其他重定向机制。

另一种选择是实现至少部分HTML DOM和JavaScript引擎,这无疑是一个有趣的项目。。。