2012-04-18 120 views
0

我有一個webbrowser控件在我的窗體上,通過它我登錄到我的網站的論壇,我假設web瀏覽器存儲會話的cookie在某個地方,然後我可以瀏覽網站作爲我登錄的用戶。這工作正常。Webbrowser控件下載文件通過HttpWebRequest

我想能夠創建一個接口,旁邊我的瀏覽器,將允許用戶通過HttpWebRequest下載頁面上的特定文件。但當然,當我創建請求並嘗試下載文件(我從webbrowser的html中獲得的url)時,它會將我發送到登錄頁面,因爲授權不在那裏,所以下載了該文件。

我想知道是否有人可以建議這樣做的最簡單方法?我也嘗試將瀏覽器中的cookie傳遞給HttpWebRequest cookie集合,但webbrowser中只有很少的cookie,對於身份驗證來說確實不夠用,因爲這不起作用。

任何幫助將不勝感激。

在此先感謝。

+0

你在使用'System.Windows.Forms.WebBrowser'嗎? – CodingGorilla 2012-04-18 19:43:33

+0

是的,我正在使用System.Windows.Forms.WebBrowser – 2012-04-18 19:58:20

+0

未來引用的遲來的答案:'URLDownloadToFile'或'URLDownloadToCacheFile' [可用於此](http://stackoverflow.com/a/19025793/1768303)。 – Noseratio 2013-09-26 15:35:23

回答

1

我不認爲你將能夠做你想做的事情(無論如何都不用WebBrowser控件)。從本質上講,您需要'借用'WebBrowser控件的「上下文」,據我所知,您不能這樣做。

或者,你可以截取FileDownloaded事件並使用它來做你需要做的事情嗎?

不幸的是,WebBrowser控件不是很靈活,我認爲它基本上是一個IE瀏覽器的包裝,但它並沒有真正讓你做很多事情。

+0

我看着FileDownload事件,但它實際上並沒有在EventArgs參數中提供任何信息,只是空的:\ – 2012-04-18 20:21:32

+0

是的,我也看到了,這就是爲什麼我說控件不太靈活。這是一種蹩腳的艾莫。 – CodingGorilla 2012-04-18 20:22:25

+0

超級糟糕的IMO哈哈 – 2012-04-18 20:25:21