禁止WebBrowser控件中的“保存/打开”对话框

Ice*_*ind 4 .net c# browser webbrowser-control

我有一个WebBrowser控件,该控件会自动将我登录到网站并尝试自动下载CSV数据。一切工作正常,除了尝试下载CSV数据时,它会弹出一个对话框,询问我是否要保存文件或打开文件(就像在IE中一样)。我想做的是将CSV文件自动下载到我选择的文件中(或者更好的是,将CSV文件直接保存到字符串变量中)。我似乎无法弄清楚如何隐藏该对话框并自动捕获下载内容。我搜索并找到了一些解决方案,但是,它们对我不起作用,因为:

1)我现在正在使用GUI。所有这些都是在类中完成的(因此,诸如SendKeys之类的方法将不是可行的解决方案)

2)下载来自安全站点,需要身份验证。WebBrowser控件为我处理了所有这些操作,但是如果我使用WebRequest和WebResponse尝试捕获下载,则不再经过身份验证。

我正在使用C#。任何帮助,将不胜感激。

She*_* 蒋晟 5

您可以连接自己的IDownloadManager实现,该实现不会进行静默下载。对于Windows窗体,这意味着您需要重写WebBrowser.CreateWebBrowserSiteBase方法以提供扩展的控件站点。有关详细信息,请查看 Webbrowser控件下载


Ale*_*lex -1

您无法禁止文件下载对话框,因为这将是一个重大的安全风险。如果您想让此过程自动进行,我建议您研究其他途径来验证您的请求。