如何在c#中捕获JavaScriptHTTP重定向
本文关键字:JavaScriptHTTP 重定向 | 更新日期: 2023-09-27 18:19:59
我正在开发一个跟踪重定向的实用程序。HTTP重定向可以通过以下c#方法很好地处理:
- HttpWebRequest
- HttpWebResponse
- WebHeaderCollection(位置已存档)
下一步是在通往最终页面的url旅程中包含javascript重定向。
- 如何在c#中捕获这种类型的重定向
- 是否有其他类型的重定向需要考虑
如果您使用嵌入式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引擎,这无疑是一个有趣的项目。。。