2011-03-16 23 views
2

我需要能夠關注一個URL,直到所有重定向最終結束並開始文件下載爲止。以Sourceforge下載URL爲例。我不是在談論簡單的HTTP重定向,而是Javascript。下載所有重定向後的文件

我受限於純託管WinForms NET 2.0。我一直使用WebClient,直到這個重定向問題出現。我以爲我可以簡單地使用WebBrowser,導航到一個URL並等待。但是我需要在沒有用戶干預的情況下完全下載並另外監視下載進度。似乎有一個FileDownload事件,但它似乎只在成功下載完成後纔會引發。

任何幫助表示讚賞。

+2

您是否還想自動接受EULA(例如下載Reflector插件時需要什麼)? – Vlad 2011-03-16 20:09:02

+0

諷刺?我問得太多了嗎?不,當然我不想接受任何EULA。 EULA需要手動用戶干預。我只是要求重定向。 – wpfwannabe 2011-03-16 20:24:50

+0

是的,評估JS重定向實在太多了。 JS重定向不是保證在某個特定時間或事件被調用的東西。它可能會等待N秒,可能會檢查cookie,可能會期望用戶交互等。考慮可能會通過Flash,Silverlight等進行重定向。考慮到重定向可以通過某些事件(如頁面被完全加載)在JS中觸發,您需要去效仿。你會看到你正在要求實現一個幾乎完整的瀏覽器。 – Vlad 2011-03-17 10:29:36

回答

1

對不起,這是不可能的,因爲你排除了native download manager APIs(C#包裝here)。

爲什麼你排除本機代碼? Webbrowser類本身也不是純管理的。它建立在本地IE API之上。

+0

謝謝!問題是我需要一些可以與我的應用程序完全集成的東西,鏈接和/或混淆。我發現你提到自己的包裝,我的印象是用C++編寫的,因此完全不合適。除此之外,我注意到它需要'regsvr32'註冊,這也是一個禁忌。所以,讓我這樣說。我需要一個託管+互操作解決方案(無混合模式組件)。我會再看看它。 – wpfwannabe 2011-03-17 06:04:44

+0

它需要REGSVR我認爲的其他東西。該示例沒有註冊下載管理器,否則它將接管IE的下載。 – 2011-03-17 20:26:02