C#下载后提交网页内容

问题描述:

我需要自动从本网站下载文件http://stats.smith.com/reports/Default.aspx?btnGo=View+Report。我的问题是,一旦我点击提交按钮,我失去了控制,并弹出一个下载对话框。有没有办法使用C#下载文件并避免下载对话框?我目前在Forms组件中使用WebBrowser对象来浏览页面。C#下载后提交网页内容

如果要将下载的文件从Web浏览器保存到文件系统,必须有用户交互。网页没有权限在客户端的文件系统中搞砸。

如果要在浏览器中显示该页面,可以使用尝试在下载文件时删除Content-Disposition=attachment;...服务器响应标头。这只有在客户端将浏览器设置为在浏览器内显示此类文件类型时才有效。

看看在WebClient

+0

问题在于我没有uri来使用下载内容。 – Steven

你的问题没有指定你使用下载的文件的内容。

如果您问是否可以在客户端上运行程序(WinForms应用程序,控制台应用程序或Windows服务),则可以使用System.Net.WebClient类从网站下载文件,然后调用DownloadFile()方法。

接受的答案here(与您的问题略有不同,因此它不是重复的)有一个链接,显示如何下载需要先发送HTTP帖子的文件。

如果您尝试以某种方式通过来自您所托管的网页的JavaScript自动化Internet Explorer,以强制文件在用户上下载而不显示对话框,则不会。你不能。