使用WebBrowser Control下载文件

时间:2011-06-29 17:53:15

标签: c# download browser webbrowser-control

我正在尝试从网页自动下载文件,问题是,网络直接返回文件。例如,http://www.someweb.com/generatefile.aspx,当我导航到该页面时,文件正在返回。 我尝试使用WebClient,但没有工作,总是给错误500,但是如果我尝试通过whit IExplorer或Firefox,运行良好。所以,我尝试使用WebBrowser控件,我做了所有其他的事情,比如登录web。

WebClient client = new WebClient();
client.DownloadFile(url, "D:/ss.pdf");  //Here error 500

和WebBrowser

WebBrowser wb = new WebBrowser();
wb.FileDownload += new EventHandler(wb_FileDownload); //in the event handler i not found how save the file
wb.Navigate(url);

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您需要进行更多配置,但我建议您改用HttpWebRequest

如果您知道预期的文件类型,则可以使用已知类型在文件系统上创建文件,并获取它的流参考。然后只需编写HttpWebRequest::GetResponse()返回的响应流。

我尝试过使用过去提到的类,但总是使用HttpWebRequest和HttpWebResponse。正如我之前所说,它们的级别稍低,但在很多情况下,对低级HTTP功能的额外控制对我的经验有所帮助。

答案 1 :(得分:0)

您是否尝试使用FTPWebRequest? WebBrowser用于GUI风格交互,而不是真正的自动化......