C#从ajax驱动的url下载pdf

问题描述:

在C#应用程序中,我想打开一个url并下载pdf。C#从ajax驱动的url下载pdf

当这个URL从浏览器中被点击时,页面快速加载并开始我认为是ajax调用。几秒钟后,浏览器下载提示与PDF文件一起出现。

我试图通过WebClient打开这个网址。我返回的流不是PDF文件,它是页面的实际HTML。

如何检测PDF文件是否已加载并下载?

如果我没有弄错,WebClient对JavaScript没有任何线索,它根本不会运行AJAX代码,它只是获取页面的HTML并将其留在那里。 而且由于PDF的URL可能是由Javascript解析的,或者PDF是根据需要生成的,甚至可以通过流式生成Javascript,所以您确实需要支持活动内容。

这看起来像硒一样会很好。 http://www.seleniumhq.org/ 它会产生一个实际的浏览器,并引导浏览器到你需要的内容或运行PhantomJS无头浏览器并获取你想要的内容。

这可能有点矫枉过正,更有知识的人可能会有更好的答案,但这正是我用于需要从许多不同网站获取PDF,CSV和其他文件的应用程序。