2013-03-22 108 views
2

我使用WebBrowser類登錄到網站並獲取我想要下載的網址。我無法通過WebBrowser獲得下載,因爲我無法以編程方式與下載對話框進行通信。使用WebBrowser登錄網站後使用WebClient下載文件

基於我的研究,似乎我必須使用WebClient來處理我的下載。我怎樣才能將WebBrowser中的「authenicated」cookies傳遞給WebClient,並通過對話框讓我下載而不用擔心?

回答

0

您可以使用InternetGetCookieEx API獲取WebBrowser的憑證。然後,您可以將cookie集合附加到HTTPWebRequest並使用WebBrowser控件的憑證填充它。

話雖如此,當你說「無法以編程方式與下載對話框通信」時,你是什麼意思?你期望什麼樣的溝通?

+0

在WebBrowser中,一旦我點擊下載鏈接,我就會得到一個文件對話框(打開,保存,取消),並且無法在物理上使用我的鼠標或鍵盤進行選擇(我只想用腳本來做到這一點)。 – sooprise 2013-03-22 16:11:38

+0

沒有辦法自動化WebBrowser控件的窗口中彈出的對話框。您需要弄清楚該文件的URL是什麼,並使用一個HTTPWebRequest(以EricLaw描述的方式附加cookie)來請求該URL並將其保存到您自己的C#程序中 – nvuono 2013-03-22 16:30:01