【问题标题】:Download file from a webpage when the downloading starts after 10 seconds [closed]10秒后开始下载时从网页下载文件[关闭]
【发布时间】:2013-08-19 17:27:40
【问题描述】:

我使用 WebClient 从直接 URL 下载文件,例如 http://www.xyz.com/somefile.ziphttp://www.xyz.com/somefile.pdf

但是有些页面会说“您的下载应该自动开始。如果没有,请单击此处”。如何以编程方式下载文件?

【问题讨论】:

  • 可能是通过聘请开发人员。
  • 每个网站都可以不同。祝你好运
  • 假设您已经可以调用WebClient 以编程方式单击该按钮,您只需找出等待该按钮可用的时间。
  • 我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。

标签: c# webclient


【解决方案1】:

应该有一个解决方法,检查源文件,看看它是 ajax 还是只是一些简单的 javascript,使链接在几秒钟后可用。在后一种情况下(更常见)只需触发链接。如果它是异步的,请查看链接是否包含一些唯一标识符或是否存在模式。如果你能找到模式,宾果!否则......好吧,你可以在那里......

【讨论】:

    【解决方案2】:

    通常,执行此类操作的网站会在其标记中注入隐藏的 IFRAME,其中包含直接指向目标文件的 URL。然后,您的浏览器会下载该框架中的文件,触发下载通知,而无需导航顶级框架。

    您可以使用 Fiddler 之类的工具来观察此行为并查看生成文件下载的“真实”URL。

    然而,正如@climbage 所指出的,每个站点的工作方式都不同,您将无法概括任何给定站点上发生的情况,从而使您的代码适用于所有其他站点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-07
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2011-06-23
      • 2015-09-28
      相关资源
      最近更新 更多