ccloli / E-Hentai-Downloader

Download E-Hentai archive as zip file
GNU General Public License v3.0
1.81k stars 137 forks source link

最近某些画廊出现某些图片下载失败,什么情况? #288

Open wyjtm opened 3 weeks ago

wyjtm commented 3 weeks ago

比如这个 https://exhentai.org/g/2926455/7190807070/ a_072 用脚本自动下载就会失败,表现是下到了图片但就是打不开图片,像是没有下完整?,但是手动点进去就能够下载

https://exhentai.org/g/2937509/0cb5aae811/ 这个也有俩个和上面那个一样失败

ccloli commented 2 weeks ago

测试了一下下载失败的文件,没有遇到该问题。看看是否还能复现上述错误,例如只下载 a_072 这个文件,或者提供下损坏文件的副本,看看是不是有错误信息没被记录

wyjtm commented 2 weeks ago

测试了一下下载失败的文件,没有遇到该问题。看看是否还能复现上述错误,例如只下载 a_072 这个文件,或者提供下损坏文件的副本,看看是不是有错误信息没被记录

试了下,这两个现在复现不到了,昨天还能复现到, https://exhentai.org/g/2948119/f23ce00c64/ 这个昨天出现四五个下载失败网页上也打不开(昨天这个画廊我用脚本下载了四五次,单独下载失败的图片十几次都不行,复制链接到迅雷,idm,直接浏览器下载,都是下载到了文件但打不开);但是之后在设置里地区换到欧洲就不会出现下载失败或者在线浏览图片打不开的情况,设置到亚太或者自动检测就会出现失败;刚才试了下这个画廊现在也复现不到了。

ccloli commented 2 weeks ago

这个昨天出现四五个下载失败网页上也打不开

如果网页上本身就无法打开,那多半是连接的节点有问题,比如这个节点缓存的文件本身就是损坏的,或者使用的代理工具(如果使用了)有问题。

但是之后在设置里地区换到欧洲就不会出现下载失败或者在线浏览图片打不开的情况,设置到亚太或者自动检测就会出现失败

那么有可能是该图片在亚太地区只有这一个节点缓存了,而这个节点刚好文件损坏了。脚本无法判断下载的文件是否已损坏,只能确定请求已经结束,此时有可能就会将损坏的文件存入,而不会请求原始服务器。

另外不确定 #286 是否相关,不过可以试试看。

wyjtm commented 2 weeks ago

这个昨天出现四五个下载失败网页上也打不开

如果网页上本身就无法打开,那多半是连接的节点有问题,比如这个节点缓存的文件本身就是损坏的,或者使用的代理工具(如果使用了)有问题。

但是之后在设置里地区换到欧洲就不会出现下载失败或者在线浏览图片打不开的情况,设置到亚太或者自动检测就会出现失败

那么有可能是该图片在亚太地区只有这一个节点缓存了,而这个节点刚好文件损坏了。脚本无法判断下载的文件是否已损坏,只能确定请求已经结束,此时有可能就会将损坏的文件存入,而不会请求原始服务器。

另外不确定 #286 是否相关,不过可以试试看。

可以确定所有下载失败的图片在网页上也无法打开原图,但是能打开重采样的;

节点缓存这方面不清楚,但是对比过下载好的图片和网页上显示的原图信息,原图显示2.05mb,下载的有时候是2.00有时候是2.05,但是都是打不开的,网页上点原图也打不开

关于 #286 的这个问题,我前段时间在edge上遇到了,重装系统后出现装了脚本但打开ex脚本不会工作,最后根据油猴提示提示是去扩展页打开开发者模式然后重启浏览器脚本就正常工作了,如果是开启 关闭浏览器后继续运行后台应用 可能就要重启电脑;

下次在遇到下载失败问题我去试试 #286 的方法

ccloli commented 2 weeks ago

可以确定所有下载失败的图片在网页上也无法打开原图,但是能打开重采样的

如果原图是无法访问的,那……有可能是 EH 的源站有问题,或者确实是 #286 导致的。

当然也难保不是用户脚本扩展程序的问题,比如今天就遇到了一个在最新的 Tampermonkey BETA 下存在的问题,分析断点大概是扩展程序内部的判断有问题,导致请求直接被中断了,但是现在又莫名其妙无法复现了。