nilaoda / N_m3u8DL-CLI

[.NET] m3u8 downloader 开源的命令行m3u8/HLS/dash下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等. 支持简体中文,繁体中文和英文. English Supported.
https://nilaoda.github.io/N_m3u8DL-CLI/
MIT License
14.07k stars 2.13k forks source link

下载时提示:请求被中止: 未能创建 SSL/TLS 安全通道。 #633

Open fireattack opened 2 years ago

fireattack commented 2 years ago
N_m3u8DL-CLI_v2.9.9.exe "https://vodc.xrw.docomo.ne.jp/signed/live/20220325002/20220325002_hls_1.m3u8" --headers "Cookie:CloudFront-Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vdm9kYy54cncuZG9jb21vLm5lLmpwL3NpZ25lZC9saXZlLzIwMjIwMzI1MDAyLyoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NTY1MDc0NTd9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19; CloudFront-Signature=P0MVbdHcleU~wPLWTcib-hyd5musUvQ~GtY~uObKDffi3xLOiuDsBeUyqSzXJorPmN-G82~kCDG0VIJryVPXeFXD1Kyazji1J~aVfxdq1kbRmhQZJp2SwO1BIg0s4no-TXLwz6GvHthVOJmwtTz8zVUQFe5ohhYHH7cFDz1QhTyUgJNiR8d9dtoJhdeD8omSvUeuQ5czclSowxGmh3LWOP1CnMlrix7G5Q3BSDopiYFaY4Pb5SLRRcL6by41XNuYNONPMHnVeFllA7KKwubC3Yi56Siy3AX-SEacAUQUeQxbAnB-1G2Az~25uVC9iwWXUzKul7U-pyWObKg8hDxvnw__; CloudFront-Key-Pair-Id=KL9FS43ROVAAR;"

提示

08:29:35.136 文件名称:20220325002_hls_1_20220331082935
08:29:35.137 存储路径:G:\_temp\N_m3u8DL-CLI\Downloads
08:29:35.145 开始解析  https://vodc.xrw.docomo.ne.jp/signed/live/20220325002/20220325002_hls_1.m3u8
08:29:40.278 地址无效

用同样的cookie使用yt-dlp或者streamlink皆可正常下载:

yt-dlp "https://vodc.xrw.docomo.ne.jp/signed/live/20220325002/20220325002_hls_1.m3u8" --add-header "Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vdm9kYy54cncuZG9jb21vLm5lLmpwL3NpZ25lZC9saXZlLzIwMjIwMzI1MDAyLyoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NTY1MDc0NTd9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19; CloudFront-Signature=P0MVbdHcleU~wPLWTcib-hyd5musUvQ~GtY~uObKDffi3xLOiuDsBeUyqSzXJorPmN-G82~kCDG0VIJryVPXeFXD1Kyazji1J~aVfxdq1kbRmhQZJp2SwO1BIg0s4no-TXLwz6GvHthVOJmwtTz8zVUQFe5ohhYHH7cFDz1QhTyUgJNiR8d9dtoJhdeD8omSvUeuQ5czclSowxGmh3LWOP1CnMlrix7G5Q3BSDopiYFaY4Pb5SLRRcL6by41XNuYNONPMHnVeFllA7KKwubC3Yi56Siy3AX-SEacAUQUeQxbAnB-1G2Az~25uVC9iwWXUzKul7U-pyWObKg8hDxvnw__; CloudFront-Key-Pair-Id=KL9FS43ROVAAR;"

streamlink "https://vodc.xrw.docomo.ne.jp/signed/live/20220325002/20220325002_hls_1.m3u8" best --http-cookie "CloudFront-Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vdm9kYy54cncuZG9jb21vLm5lLmpwL3NpZ25lZC9saXZlLzIwMjIwMzI1MDAyLyoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NTY1MDc0NTd9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19; CloudFront-Signature=P0MVbdHcleU~wPLWTcib-hyd5musUvQ~GtY~uObKDffi3xLOiuDsBeUyqSzXJorPmN-G82~kCDG0VIJryVPXeFXD1Kyazji1J~aVfxdq1kbRmhQZJp2SwO1BIg0s4no-TXLwz6GvHthVOJmwtTz8zVUQFe5ohhYHH7cFDz1QhTyUgJNiR8d9dtoJhdeD8omSvUeuQ5czclSowxGmh3LWOP1CnMlrix7G5Q3BSDopiYFaY4Pb5SLRRcL6by41XNuYNONPMHnVeFllA7KKwubC3Yi56Siy3AX-SEacAUQUeQxbAnB-1G2Az~25uVC9iwWXUzKul7U-pyWObKg8hDxvnw__; CloudFront-Key-Pair-Id=KL9FS43ROVAAR;" -o test.ts
bxb100 commented 2 years ago

可以考虑加个代理 --proxyAddress

我全局代理, 下载是正常的

image

fireattack commented 2 years ago

但是我可以直连这个网站,用另外两个不需要代理

Edit: log里的内容如下

00:50:34.874 / (NORMAL) 开始解析 https://vodc.xrw.docomo.ne.jp/signed/live/20220325002/20220325002_hls_1.m3u8
00:50:34.889 / (NORMAL) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:34.889 / (ERROR) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:35.904 / (NORMAL) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:35.904 / (ERROR) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:36.918 / (NORMAL) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:36.918 / (ERROR) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:37.933 / (NORMAL) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:37.933 / (ERROR) 请求被中止: 未能创建 SSL/TLS 安全通道。
00:50:38.503 / (NORMAL) 强制退出: 强制
bxb100 commented 2 years ago

你确定你的环境里面没配置 http_proxy 和 https_proxy ?

fireattack commented 2 years ago

没有

bxb100 commented 2 years ago

我这只能告诉你说 cookie 能塞上, 至于网络环境问题没法在这里得到解决...

建议手动设置代理去下载

fireattack commented 2 years ago

所以说不是网络环境的问题,直连可以连上,别的软件也可以下载……

不过确实不是Cookie的问题,我标题已经改了

fireattack commented 2 years ago

以报错搜索,搜到这个:

https://smalltool.github.io/2020/08/24/Could-not-create-SSL-TLS-secure-channel/

解决办法一:
在HttpWebRequest前设置代码

ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

另见 https://www.cnblogs.com/xuliangxing/p/8384821.html

bxb100 commented 2 years ago

那就奇怪了, 你要说是协议版本问题的话, 我这应该下不成功, 但是实际上我这没问题, 所以我一直告诉你说是你网络的问题 🤣

nilaoda commented 2 years ago

升级.NET Framework试试

fireattack commented 2 years ago

安装的是.net 4.8.03761,应该够高

估计是win7的问题?虽然已经修改了注册表默认启动了tls1.2 但是.net的程序还是有点问题得像上文所述那样手动添加一下Protocol

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;