我正在研究跟蹤重定向的實用程序。 HTTP重定向通過以下C#方法很好進行處理:如何在C#中捕獲javascript HTTP重定向?
- HttpWebRequest的
- HttpWebResponse
- WebHeaderCollection(地點提交)
下一步是包括在URL旅程的JavaScript重定向最後一頁。
- 如何捕獲這種類型的重定向在c#中?
- 是否有任何其他類型的重定向需要考慮?
我正在研究跟蹤重定向的實用程序。 HTTP重定向通過以下C#方法很好進行處理:如何在C#中捕獲javascript HTTP重定向?
下一步是包括在URL旅程的JavaScript重定向最後一頁。
如果您使用嵌入式JavaScript引擎,並創建小樣一些比較常用的訪問方面的數據模型的DOM和JavaScript API /原型,然後你可以加載頁面,執行任何和所有的JavaScript代碼,並讓你的window.location屬性設置器在設置時觸發一個事件,然後按正常的方式跟隨該URL。這使您可以處理計算值,以及你的標準
window.location = "/home";
有嵌入的JavaScript引擎的C#沒有供不應求,這裏僅僅是少數,我覺得是真的好:
的Javascript .Net - 使用Google的V8引擎。真的很容易集成到應用程序中。唯一的缺點就是在應用程序中保留一個不受管理的DLL。 https://github.com/JavascriptNet/Javascript.Net
Jint(JavaScript解釋爲.NET) - 真的很不錯。完全託管的代碼。同樣,易於集成到應用程序中。 http://jint.codeplex.com/
真正的關鍵是嘲笑通常由瀏覽器創建的東西。
你唯一可行的選擇是使用全面的瀏覽器來做到這一點。您可以使用WebBrowser控制WebForms,或瀏覽器自動化(直接用於IE,或通過像Selenium或WebAII之類的東西),或嵌入其他瀏覽器引擎(我認爲WebKit有C#綁定...)。使用全面的瀏覽器引擎也會照顧其他重定向機制。
替代將實現至少部分HTML DOM和JavaScript引擎,它絕對是有趣的項目...
當你說Capture ..你想在調用重定向之前將重定向的URL存儲在List中嗎? – MethodMan 2012-01-11 21:19:45
「跟蹤重定向」 - 它看起來像你想要什麼最終頁面將是如果瀏覽器將呈現它,而不實際使用瀏覽器? – 2012-01-11 21:25:58
你將需要一個完整的JavaScript解釋器來實現這一點。 – 2012-01-11 21:27:10