如何在 HTTP GET 请求中获取文件的 URL?

如何在 HTTP GET 请求中获取文件的 URL?

我经常通过发出 HTTP GET 请求来访问一个 Web 服务器,如下所示:http://www.example.com/index.php?file=12&hd=0

它返回一个OK响应,其内容类型为video/x-flv,内容长度各不相同。显然,这会下载一个.flv文件,既然我正在下载它,那么它肯定托管在网络上的某个地方。

然而,我不知道如何检索直接的此文件的 URL。我尝试使用 Wireshark 和 Fiddler4,但它们没有帮助。我试图获取 URL,以便可以在同步视频,它可以接受视频文件的直接 URL。但是尝试使用上面示例的链接不起作用。

答案1

我认为没有其他方式可以访问该文件。PHP 脚本可能只是读取私有本地文件并将数据重定向到输出流。

这样做可能是为了防止热链接。因为必须调用 PHP 脚本才能下载文件,所以它可以在将数据传输到客户端之前检查某些内容(例如,您是否已登录)。

如果脚本没有检查任何内容(或者只检查您的 IP 地址)并且程序因为没有扩展名而拒绝该 URL,您可以尝试伪造它:

http://www.example.com/index.php?file=12&hd=0&ext=.flv

通过向 URL 添加虚拟参数使得.flv程序可能会接受该 URL。

答案2

不一定存在直接访问文件的方法。

它可能位于网络服务器的私人文件夹中,也可能位于只有网络服务器可以访问的完全不同的服务器上。发布的 URL 可能是访问该文件的唯一公共方法。

除非您在 wireshark 捕获中看到 301 或 302 重定向,否则无法询问 Web 服务器以找出它从哪里获取文件。

相关内容