C# C中axWebBrowser控件中的文件自动下载问题#

C# C中axWebBrowser控件中的文件自动下载问题#,c#,winapi,download,axwebbrowser,beforenavigate2,C#,Winapi,Download,Axwebbrowser,Beforenavigate2,我正在做一个项目,试图在我的公司内刮掉一个内部网站,因为现在有一些限制,禁止我在服务器端获得帮助。我正在编写一个C#客户端,使用axWebBrowser控件导航到页面。一旦进入页面,就会有一个按钮控件调用.aspx页面,该页面将从sql查询创建csv文件的动态下载。在正常情况下,这会打开文件下载对话框以保存csv 我发现有人使用BeforeNavigate2事件捕获e.uRL,然后使用FileDownload事件覆盖对话框并使用WebClient检索文件。这个方法对我来说很好,除了e.uRL包含

我正在做一个项目,试图在我的公司内刮掉一个内部网站,因为现在有一些限制,禁止我在服务器端获得帮助。我正在编写一个C#客户端,使用axWebBrowser控件导航到页面。一旦进入页面,就会有一个按钮控件调用.aspx页面,该页面将从sql查询创建csv文件的动态下载。在正常情况下,这会打开文件下载对话框以保存csv

我发现有人使用BeforeNavigate2事件捕获e.uRL,然后使用FileDownload事件覆盖对话框并使用WebClient检索文件。这个方法对我来说很好,除了e.uRL包含.aspx脚本的uRL,而不是动态创建的.csv文件

我读到的另一个建议是从HTML请求中解析文件路径的头,但当我这样做时,我在头上抛出了一个401未授权访问异常

最后,我希望尽可能避免这种情况,我考虑过使用win32 api调用并使用FindWindow和SendMessage在默认文件对话框中导航,但我真的不想创建一个带有等待的多线程应用程序来实现这一点。我找不到在“文件下载”对话框打开时触发的事件,只有在打开之前或关闭之后触发的事件


如果您有任何想法,我都可以开始在这里粘贴代码,如果它能澄清我的解释的话。

看到没有任何建议,我会很沮丧。我曾经将AutoIt3与Firefox+MozRepl结合使用来实现自动化,因为AutoIt3有一个函数库用于此功能,但升级到FF4会破坏这一点。