【问题标题】:Skip "Download file" dialog in WebBrowser control跳过 WebBrowser 控件中的“下载文件”对话框
【发布时间】:2013-12-11 10:42:21
【问题描述】:

我以这种方式在 WebBrowser 控件中提交表单: WebBrowser1.Document.GetElementById("INS_TASK").InvokeMember("click");

其中“INS_TASK”是提交按钮 ID。使用 POST 方法提交的表单。

如果通过 Fiddler 检查流量有两个请求:

  1. 结果 302,方法 POST
  2. 结果 200,方法 GET

之后会出现“保存文件”对话框。如何隐藏此对话框并在不提示的情况下保存下载文件?

【问题讨论】:

标签: c# winforms download webbrowser-control


【解决方案1】:

只有用户可以在没有提示的情况下决定保存文件。 您无法绕过保存文件对话框。这是一个浏览器安全功能。 如果您可以告诉浏览器跳过保存文件对话框,那么任何人都可以发送恶意 .exe 文件,这些文件将直接保存到磁盘。

【讨论】:

  • 我想,我可以绕过保存对话框。我发现样本可以与 WebBrowserNavigatingEventHandler 一起使用。但在这个示例中,文件的 URL 是已知的 ([link]stackoverflow.com/questions/6773866/…)
  • WebBrowser 类在 System.Windows.Forms.WebBrowser 中找到,所以我认为这是一个 Windows 窗体应用程序,而不是 Web 应用程序。您可以使用那段代码,但它会将文件下载到应用程序运行的服务器上,而不是客户端上。
  • 但是当我没有指向文件的链接时该怎么办?我必须在 client.DownloadDataAsync(Url) 中输入什么网址?
猜你喜欢
  • 1970-01-01
  • 2015-07-31
  • 1970-01-01
  • 2013-03-03
  • 2023-03-21
  • 2012-09-03
  • 1970-01-01
  • 2010-09-09
  • 2013-08-02
相关资源
最近更新 更多