MotooriKashin / ef2

IDM辅助下载工具,使用自定义ef2://协议,同时支持解析IDM导出文件(.ef2)
MIT License
248 stars 12 forks source link

特殊链接(可能是跳转)会导入失败提示:未找到有效链接 #13

Open yingw opened 9 months ago

yingw commented 9 months ago

一些特殊的链接,如: https://www.screenscraper.fr/api2/mediaGroup.php?devid=jelos&devpassword=jelos&softname=zzz&crc=&md5=&sha1=&groupid=2917&media=logo-monochrome&mediaformat=png

看上去不是个文件,是重定向到某个文件的,会在解析的时候失败,但是用 IDM 直接导入是可以,能否修复不要提示能导入,谢谢

sample.ef2:

<
https://www.screenscraper.fr/api2/mediaGroup.php?devid=jelos&devpassword=jelos&softname=zzz&crc=&md5=&sha1=&groupid=2917&media=logo-monochrome&mediaformat=png
referer: https://www.screenscraper.fr/api2/
User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
>
yingw commented 9 months ago

自己解决了,下载了18G的VS2019编译跟踪,发现是链接里面有password的时候,会把整个链接都转成密码,url就没了,解析出来是这个:

-P "oclone.screenscraper.fr/api2/mediaVideoJeu.php?devid=derrerr&devpassword=lDzMMFDoT3n&softname=&ssid=derrerr&sspassword=111111&systemeid=10&jeuid=142941&media=video" -r https://neoclone.screenscraper.fr/api2/ -a "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko" -s "a.mp4" -q

正常链接都有 -u 参数,类似这样:

-u https://img2.example.com/data/1102/94/IMG_0001.jpg -r https://img2.example.com/data/1102/94/ -a "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko" -q

我找了下代码,把 code.h 里面这段临时注释掉,就没问题了:

  // else if (temp.find("password") != std::string::npos)
  // {
  //     result.append("-P \"");
  //     result.append(temp.substr(10));
  //     result.append("\" ");
  // }

非常感谢,工具很好用,批量下载去了

另外发现了另一个bug,提另一个issue

yingw commented 9 months ago

但这个解析password 的问题和逻辑,我也不清楚怎么才能比较合适,请看情况修复,谢谢

MotooriKashin commented 9 months ago

一直在等谷歌敲定Manifest V3标准以后,IDM官方拓展的动作,导致本项目搁置维护很久了,并且可能一直等下去。好在今天的chrome 120终于支持的UserScript命名空间系列API,也算是巨大进展了。Manifest V3的障碍基本已经扫除,强制推行应该就在不远的将来——放我一段时间,我还能等。。。

所以很感谢提供反馈,短期内是不会修复了。有兴趣欢迎pr,只要能忍受这些上古的代码🤣