简体中文

视频和字幕·直接媒体下载器

URL 剖析:为什么页面地址不是可下载文件地址

· 背景

网址 下载 网络基础知识

分为方案、主机、路径、查询和片段块的 URL
原始 ToolAcre 矢量图

每个 URL 都有相同的部分,但只有其中一些指向可下载的文件。这篇文章详细介绍了方案、主机、路径、查询和片段,并展示了如何在将链接粘贴到下载器之前读取链接。

地址栏中的链接未下载任何内容 - 页面所在位置和文件所在位置之间的混淆

浏览器地址栏通常命名正在查看的文档,而不是独立的媒体响应。复制它可以准确地保留位置,但该位置可能描述播放器应用程序,而不是该应用程序显示的字节。

可下载文件地址是 HTTP 资源,其响应正文是预期文件。 URL 的出现可以暗示这种关系,但如果没有联系和响应证据就无法建立这种关系。因此,有用的第一个问题不是“这看起来像视频吗?”但是“出版商说这个确切的地址代表什么资源?”首先询问发布者希望复制的地址代表哪种资源,而不是询问其中是否出现熟悉的单词。

方案和主机 — https、域以及为什么主机是工具在联系它之前宣布的部分

在 `https://cdn.example:8443/archive/cut.mp4` 中,HTTPS 是方案,cdn.example 是主机名,8443 是显式端口。起源结合了这些组件。

直接媒体下载程序仅接受 HTTPS,并在联系之前宣布标准化主机名。它拒绝嵌入在主机和已知私人或内部目的地之前的凭据,包括混淆的地址形式。显式非默认端口可以标识单独的服务,因此不要仅仅因为 UI 声明突出显示主机名而在心里忽略它。显式端口仍然是源的一部分,并且可以标识不同的服务,即使简短的声明强调主机名。

路径 — 文件夹和最后一段,通常出现文件名和扩展名

路径在权限之后开始,并用斜杠分隔。它的最后一段通常类似于文件名,如果 Content-Disposition 没有提供更好的建议,则 ToolAcre 可以使用该文件名。

“经常”并不是证据。 `/watch/abc`、`/download/42` 和 `/asset.mp4` 是服务器定义的路由。任何内容都可以根据主机行为返回 HTML、媒体、错误或重定向。百分比编码的字符还可以更改解码后的可见路径,使浏览器的解析视图比随意的字符串分割更安全。百分比编码可能会使解码后显示的最终片段有所不同,这是使用结构化解析而不是斜杠分割的另一个原因。

查询和片段 — 参数、标记和锚点,以及为什么 ?v=ID 查询不指向视频文件

查询以问号开头,可以选择资源、授权签名链接或进行分析。该片段以 `#` 开头,通常选择客户端文档状态,而不是在 HTTP 请求中发送。

诸如 `v=ID` 之类的参数通常标识页面状态;它本身并不意味着响应是视频文件。 ToolAcre 保留承载签名,同时在标准化过程中删除保守的跟踪值列表。片段仍然会影响导航后页面显示的内容,这就是为什么地址栏副本可能会保留与服务器响应无关的界面状态。尽管在发送到服务器的请求中不存在片段,但导航后片段仍可能会改变客户端页面状态。

如何发现可能的直接文件链接 - 扩展名、无播放器页面以及提供文件而不是页面的主机

可能的直接链接具有预期的公共主机和发布者为文件提供的路径。熟悉的扩展是一条线索,官方下载说明比复制的玩家地址具有更强的上下文。

检查链接然后可以请求标头。媒体内容类型支持该假设,而 `text/html` 则提示警告。响应仍然可能被错误标记,因此成功的下载和播放仍需稍后观察。发布者自己页面上的下载按钮比仅为播放而发出的逆向工程请求更能证明有意检索。与对仅在受保护的播放期间观察到的资产进行逆向工程相比,发布者的官方下载说明提供了更强大的上下文。

工作示例:剖析五个链接形状 — CDN 文件、缩短器、观看页面、签名 URL 和带有片段的页面

比较五种形状:以 `.mp4` 结尾的 CDN 路径;重定向的短链接;带有 ID 查询的观看页面;带有签名和过期时间的存储路径;和一个文档片段。

第一个看起来像文件,第二个隐藏其最终主机,第三个看起来像页面,第四个可能仅暂时有效,第五个片段不被传输。只有实际的 HTTP 响应才能确定可达性和标签。缩短器应该通过授权的、可观察的请求而不是猜测来扩展;它的品牌并没有告诉我们最终的存储来源。仅通过允许的可观察请求来扩展缩短器,因为其品牌本身无法识别最终的存储运营商。

这不包括什么 - URL 本身不能证明文件存在或它到底是什么类型

URL解析无法证明存在、内容类型、长度、授权、安全性或法律许可。如果不发出请求,它也无法预测重定向目的地。

本地安全结果意味着初始目的地通过方案和主机策略。将其视为应用程序提供网络控制的许可,而不是服务器将提供可播放媒体的判断。 DNS 行为和未来的重定向仍然是额外的边界,因此拥有严格白名单的组织需要超出此客户端解析器的网络控制。当稍后的解析或重定向行为必须满足白名单时,严格的组织应将此解析器与 DNS 和出口控制结合起来。

要点:在粘贴链接之前先阅读链接 — Direct Media Downloader 的 URL 检查如何为您执行相同的阅读操作

在粘贴之前分层读取地址:协议、主机名、端口、路径、查询和片段。继续跟踪与签名保存不同的清理,并且永远不要从公开的字符串中推断权利。

直接媒体下载器在本地应用该结构读取,然后等待操作。其可选的 HEAD 请求和随后的 GET 回答了单独语法无法回答的不同问题。这种分层读取可以防止误报和错误保证,同时保留合法传输系统所需的有用签名查询信息。这种分层方法保留了合法的签名参数,同时防止视觉熟悉被误认为是授权或存在。