有时在下载某些东西时,我发现链接不是文件的直接链接。
例如,这是一个下载 PDF 文件的链接:
我想知道如何找出/破解文件的实际链接(即 http://*.PDF)?
不显示直接链接的此类和类似技术的名称是什么?一些参考资料,例如维基百科,...?
是的,有时。
有两种情况经常发生。您的链接不再有效,因此我不确定这种情况下的实际情况,因此我将在另一个链接上进行总结。
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 混淆,甚至一起丢失。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句