N_m3u8DL-CLI icon indicating copy to clipboard operation
N_m3u8DL-CLI copied to clipboard

BUG: Cookie设定在嵌套M3U8中可能无效

Open pjarayuzu opened this issue 3 years ago • 5 comments

部分M3U8采用Cookie鉴权的同时使用了master m3u8,且在所有流获取时全部鉴权。 此时在重解析和下载时可能出现失败。

pjarayuzu avatar Feb 08 '22 15:02 pjarayuzu

我遇到同样的问题,请求master m3u8获取的响应包含set-cookie,而子m3u8链接在请求时仅继承了原先的cookies,并未刷新,导致鉴权失败403

xingyunjohn1 avatar Jul 09 '22 23:07 xingyunjohn1

@xingyunjohn1 可提供测试链接?目前程序没有维持会话,不会处理响应中的set-cookie,遇到这种网站确实会下载不了。

另外,手动设置cookie是否能够下载?

nilaoda avatar Jul 10 '22 03:07 nilaoda

@xingyunjohn1 可提供测试链接?目前程序没有维持会话,不会处理响应中的set-cookie,遇到这种网站确实会下载不了。

另外,手动设置cookie是否能够下载?

测试链接:F12抓取 https://news.tvb.com/ 中的视频,获取子m3u8文件、视频分片均需鉴权。

我今天浅学C#并粗略修改了部分源码(GetWebSource),是能够获取到子m3u8文件的,不过dalao的代码我还没完全看懂,不知如何传递Header给Down部分。

另外,刚刚通过抓包获取到set-cookie,直接指定子m3u8和人工修改的cookies,是能够下载的。

xingyunjohn1 avatar Jul 10 '22 03:07 xingyunjohn1

@xingyunjohn1 抓包浏览器请求子m3u8的cookie应该就可以下载吧? 现在下载器的代码可维护性比较差,要维持session的话修改点比较多,懒得弄了🫠

nilaoda avatar Jul 10 '22 04:07 nilaoda

@xingyunjohn1 抓包浏览器请求子m3u8的cookie应该就可以下载吧? 现在下载器的代码可维护性比较差,要维持session的话修改点比较多,懒得弄了🫠

我随便写了点好像可以了(仅满足我自己的情况,不满足维持会话)。

放上来需要的自取罢https://github.com/xingyunjohn1/N_m3u8DL-CLI/releases/tag/3.0.1

xingyunjohn1 avatar Jul 11 '22 03:07 xingyunjohn1