在 youtube-dl 中添加自定义 HTTP header 以强制提取直接 link 文件不打开,但下载

Add custom HTTP header in youtube-dl to force extracted direct link to file not to open, but download

我需要添加自定义 HTTP header 以通过 youtube-dl 将 link 直接提取到文件中,以便在浏览器中单击后不会打开,但会下载。我打算使用 this answer, but there might be easier solution. There is a option in youtube-dl Workarounds 的解决方案:

--add-header FIELD:VALUE         Specify a custom HTTP header and its value, separated by a colon ':'. You can use this option multiple times

我的问题是什么 header 在终端中写为 FIELD 和 VALUE 以强制直接 link 默认下载文件。

youtube-dl -g --add-header FIELD:VALUE https://www.youtube.com/watch?v=9Q7Vr3yQYWQ

编辑: 为了更好地解释我要完成的任务,我从服务器上的应用程序执行以下命令:

youtube-dl -g URL

和return输出,什么是直接link到视频文件,到客户端供用户下载。问题是默认情况下,浏览器会打开文件但不会开始下载。通过更改文件的 header ,您可以强制浏览器下载。我的问题是,如果它也适用于直接 links,如果适用,如何在 youtube-dl 脚本中添加 header 以强制 link 触发下载。

HTML 5 只适用于 Chrome 和 Firefox 的解决方案不够好。

<a href="url" download="filename"></a>

取自this youtube-dl issue。对于 non-dash 格式(例如,如果您在调用 youtube-dl 时使用 -f best),如果您将 &title=something 添加到 url,您将获得 youtube-dl服务器将以下 header 添加到响应中:Content-Disposition: attachment; filename="something.mp4",强制浏览器将其下载为 something.mp4.