【问题标题】:How to save all resources downloaded from a HTTP request in PHP如何在 PHP 中保存从 HTTP 请求下载的所有资源
【发布时间】:2014-03-04 22:42:03
【问题描述】:

是否可以使用 PHP 保存从 HTTP 请求下载的所有资源?

例如:使用 curl、wget 或类似方法获取在浏览器中加载页面所需的所有文件,而不是仅获取页面的 HTML 内容。

我不想获取所有链接,然后使用直接 curl 下载每个链接。我想要一种只做一次的方法。我认为这是可能的,因为在浏览器中我也只做一个 url 请求来获取所有资源。

编辑: 这里的重点是模拟浏览器的行为。如何使用 PHP 保存整个页面。 如果必须通过几个步骤来完成,应该遵循什么逻辑? 即使在提取链接之后,我在从页面获取所有文件时也遇到了很大的问题,因为我发现很难存储会话数据并将其重用于进一步的卷曲。

【问题讨论】:

  • 浏览器为您发出额外的请求。
  • 这是根本不正确的:在浏览器中我也只做一个 url 请求来获取所有资源。
  • 浏览器发出许多请求以获取所有必要的资源。您不必相信我们的话,打开浏览器的开发人员工具,转到网络选项卡并按 F5。
  • 没有错。我只做一个请求。其余的由浏览器完成,而不是我。但我显然不是在这里争论一个请求的事情。例如,重点是如何保存所有图像。有没有办法模拟浏览器行为并在 PHP 中存储页面资源?完成这项工作的逻辑应该是什么?获取链接、保存会话数据、cookie 和引用?有没有办法只保留这些数据以供进一步卷曲?希望你明白我的意思

标签: php curl wget


【解决方案1】:

您可以为此使用 Ajax 并将其保存为对象并在需要时显示它们。这对你有用吗?

【讨论】:

  • Ajax 涉及浏览器。 Ajax 永远不会在 cURL 请求上运行。
猜你喜欢
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
  • 2022-11-19
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
相关资源
最近更新 更多