Tim*_*Tim 14 internet download redirection
有时在下载某些东西时,我发现链接不是文件的直接链接。
例如,这是一个下载 PDF 文件的链接:
我想知道如何找出/破解文件的实际链接(即 http://*.PDF)?
不显示直接链接的此类和类似技术的名称是什么?一些参考资料,例如维基百科,...?
该站点可以编写脚本,并且当它获得某个命令(URL 可以传递命令)时,它可能会返回一个 PDF 文件(或某个其他文件),而无需重定向。这是服务器端的事情,取决于站点的编码方式。如果不实际从服务器请求该链接,您就不太可能弄清楚如何获取文件。有时即使您知道直接 URL,您也可能无权访问直接链接。某些站点已编码,因此直接链接将不起作用。
是的,有时。
有两件事是经常发生的。您的链接不再起作用,所以我不确定这种情况下的实际情况,所以我将在另一个链接上进行总结。
HTTP 重定向
这就是您在Bit.ly其他服务中看到的情况。然后要做的是提供 HTTP 重定向响应。当您访问http://bit.ly/oH3410时,它会重定向到实际的 URL。有时,一个 URL 会重定向到另一个 URL。如果您将 URL 插入http://web-sniffer.net/或使用[curl][1] -I http://bit.ly/oH3410您将看到返回一个指向新位置的 301,您可以看到这种情况发生。
因此,要处理 HTTP 重定向,您只需循环 HTTP HEAD 请求,直到不再收到 300 的响应(希望收到 200)。请记住,它们可能会在循环中重定向,这永远不会结束。您可以使用 CURL 或任何 HTTP 工具来完成此操作。
下载器页面
这是大多数下载网站所使用的。您单击下载链接,它会将您带到一个带有一堆广告的页面,并显示“您的下载即将开始”类似的内容。[例子]。有了这些,您可以尝试解析来自 URL 的实际直接链接,但这将是特定于站点的,并且大多数站点不会包含它以防止您绕过它。这可以通过meta http-equiv="refresh"标头中的标签或 JavaScript(最常见)来完成。不过,JS 通常有一个标头后备。
不过有一个解决方案。如果您查看下载页面上的源代码,您通常会看到一个<meta http-equiv="refresh">标签(通常在<noscript>标签中),其属性URL指向实际下载。因此,请使用 CURL(或任何其他 HTTP 工具)下载页面,解析它并获取该值。如果网站真的想要变得非常讨厌,那么他们可能会排除这一点,从而要求您有 JavaScript 来下载文件。
可能还有一个 JavaScript 块链接到下载。它可能被混淆,或从另一个 URL 链接。尝试解析这一点时,您的里程可能会有所不同。页面上也可能有“直接链接”。您可以尝试一些技术来找到它,但同样,它可能会通过 JavaScript 被混淆,甚至全部丢失。
| 归档时间: |
|
| 查看次数: |
2100 次 |
| 最近记录: |