我正在尝试从网页自动下载文件,问题是,网络直接返回文件。例如,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);
感谢您的帮助。
答案 0 :(得分:1)
您需要进行更多配置,但我建议您改用HttpWebRequest。
如果您知道预期的文件类型,则可以使用已知类型在文件系统上创建文件,并获取它的流参考。然后只需编写HttpWebRequest::GetResponse()返回的响应流。
我尝试过使用过去提到的类,但总是使用HttpWebRequest和HttpWebResponse。正如我之前所说,它们的级别稍低,但在很多情况下,对低级HTTP功能的额外控制对我的经验有所帮助。
答案 1 :(得分:0)
您是否尝试使用FTPWebRequest? WebBrowser用于GUI风格交互,而不是真正的自动化......