如何使用 youtube-dl 的 --add-header 选项?
How do I use youtube-dl's --add-header option?
我正在尝试使用 youtube-dl 添加自定义 header,这是一种带有命令行界面的流行视频下载器。
我在 Windows 10.
上使用 PowerShell(或 CMD)
The official documentation 如下所示,但我似乎无法正确使用它。
--add-header FIELD:VALUE
Specify a custom HTTP header and its value,
separated by a colon ':'. You can use this
option multiple times
我正在尝试为请求添加多个 headers:
"Accept-Encoding": "identity;q=1, *;q=0",
"Range": "bytes=6488064-",
"Referer": "https://avideosite.net/video/0123456",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"
但是当我尝试
start youtube-dl --add-header "Accept-Encoding":"identity;q=1, *;q=0" --add-header "Range":"bytes=6488064-" --add-header "Referer":"https://avideosite.net/video/0123456" --add-header "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36" "http://11.22.333.444:8280/abcdefg=.mp4?st=97WbFiADB5Hla7Y-fZx58g&e=1560574126"
它不起作用并抛出如下错误:
Start-Process : A positional parameter cannot be found that accepts argument
'Accept-Encoding'.
At line:1 char:1
+ start youtube-dl --add-header "Accept-Encoding":"identity;q=1, *;q=0" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
我做错了什么?
此外,是否有使用 youtube_dl
库将其放入 Python 脚本的正确方法?
所以我的问题是我的 PATH 中没有 youtube-dl.exe,这使我无法启动 youtube-dl。那么让我回答我自己关于 --add-header 选项的问题。
关于--add-header选项,每一项应该是foo:"bar"
。
例如,我从问题中得到的原始命令应该是这样的:
$ youtube-dl --add-header Accept-Encoding:"identity;q=1, *;q=0" --add-header Range:"bytes=6488064-" --add-header Referer:"https://avideosite.net/video/0123456" --add-header User-Agent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36" http://11.22.333.444:8280/abcdefg=.mp4?st=97WbFiADB5Hla7Y-fZx58g&e=1560574126
请记住,如果您在 url 中有 &(& 符号) 字符,就像我的情况一样,您必须将其用“ ”括起来。
在这里添加一个额外的答案,因为我还不能发表评论。接受的答案建议使用 youtube-dl 中的“--add-header”选项在 header 中添加引荐来源网址。我无法让它工作,但使用“--referer”选项确实成功了,它做同样的事情。示例用法如下:
youtube-dl --referer https://exampleVideoHost.com/hostURLWhereEmbeddedVideoAppears https://exampleVideoHost.com/videoSRCvalue
我正在尝试使用 youtube-dl 添加自定义 header,这是一种带有命令行界面的流行视频下载器。
我在 Windows 10.
上使用 PowerShell(或 CMD)The official documentation 如下所示,但我似乎无法正确使用它。
--add-header FIELD:VALUE
Specify a custom HTTP header and its value, separated by a colon ':'. You can use this option multiple times
我正在尝试为请求添加多个 headers:
"Accept-Encoding": "identity;q=1, *;q=0", "Range": "bytes=6488064-", "Referer": "https://avideosite.net/video/0123456", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"
但是当我尝试
start youtube-dl --add-header "Accept-Encoding":"identity;q=1, *;q=0" --add-header "Range":"bytes=6488064-" --add-header "Referer":"https://avideosite.net/video/0123456" --add-header "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36" "http://11.22.333.444:8280/abcdefg=.mp4?st=97WbFiADB5Hla7Y-fZx58g&e=1560574126"
它不起作用并抛出如下错误:
Start-Process : A positional parameter cannot be found that accepts argument 'Accept-Encoding'. At line:1 char:1 + start youtube-dl --add-header "Accept-Encoding":"identity;q=1, *;q=0" ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
我做错了什么?
此外,是否有使用 youtube_dl
库将其放入 Python 脚本的正确方法?
所以我的问题是我的 PATH 中没有 youtube-dl.exe,这使我无法启动 youtube-dl。那么让我回答我自己关于 --add-header 选项的问题。
关于--add-header选项,每一项应该是foo:"bar"
。
例如,我从问题中得到的原始命令应该是这样的:
$ youtube-dl --add-header Accept-Encoding:"identity;q=1, *;q=0" --add-header Range:"bytes=6488064-" --add-header Referer:"https://avideosite.net/video/0123456" --add-header User-Agent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36" http://11.22.333.444:8280/abcdefg=.mp4?st=97WbFiADB5Hla7Y-fZx58g&e=1560574126
请记住,如果您在 url 中有 &(& 符号) 字符,就像我的情况一样,您必须将其用“ ”括起来。
在这里添加一个额外的答案,因为我还不能发表评论。接受的答案建议使用 youtube-dl 中的“--add-header”选项在 header 中添加引荐来源网址。我无法让它工作,但使用“--referer”选项确实成功了,它做同样的事情。示例用法如下:
youtube-dl --referer https://exampleVideoHost.com/hostURLWhereEmbeddedVideoAppears https://exampleVideoHost.com/videoSRCvalue