dipoo / egdownloader

绅士(exhentai)下载器
GNU General Public License v2.0
220 stars 27 forks source link

下载报错 java.lang.NullPointerException #16

Open li0817 opened 5 years ago

li0817 commented 5 years ago

之前也有过类似现象,不论是重启电脑还是搭上梯子,一直都是下载错误;后来没管,几天过去自动好了;但这两天又出现了这种情况,是e站的问题还是下载器的问题还是我的问题? 重置 / 重建任务也不行,而且不是特定任务出错,是任意下载都会报错(:з」∠)

dipoo commented 5 years ago

试了下没问题,你改了cookie吗

li0817 commented 5 years ago

没动过相关配置,基本只用搜索跟下载两个功能

dipoo commented 5 years ago

试试新版本~

li0817 commented 5 years ago

感谢,可以了;但是有个新的小问题,是我替换的时候有什么操作不当吗…… 右上角的最大化/还原按钮不见了……打开默认就是最大化,按钮只有最小化和叉(:з」∠)

li0817 commented 5 years ago

java.lang.RuntimeException: Could not generate DH keypair 配额不足或者下载异常,停止下载

正常的只有之前一小段时间,最近两周都这样,试过重启电脑搭梯子等操作,依旧下不了,没有动过cookie

dipoo commented 5 years ago

【配置-开启HTPPS】的勾去掉

li0817 commented 5 years ago

好像又可以了……我说呢,怎么见不到另一个报错了,想起来了 之前是下载速度只能几百B,过几秒后自动停止,于是把设置里的那个开关开了……不是上述的那个错误,报错的是另外的内容;另外之前显示正常下载的内容也有部分下下来是图片509 不过总之暂时可以下了,如果一周后都是正常下载没有在出现那种报错的话我就关掉这个issue吧

li0817 commented 5 years ago

好像不能批量重置任务了?只能重置所有任务,选择多项任务后右键的话会变成单选

li0817 commented 5 years ago

再度出现了,关闭https后,一段时间内正常,后来,几百B的下载速度过几秒后自动暂停, XXXX 001.jpg:403, 次行则是“显示配额不足或者下载异常,停止下载”。 图片403错误?

然后再过会儿,下载,能正常下了,但下下来的都是509图片。虽然显示下载完成,但格式都长这样: 2019-03-17 09:51:55 http://exhentai.org/s/66927a23da/1377426-5,proxy:null 2019-03-17 09:51:56 http://exhentai.org/img/509.gif,proxy:null

dipoo commented 5 years ago

你下载的量是不是太大了,EX有配额限制,没办法的

li0817 commented 5 years ago

限制的是每天吧,但我隔几天去试也是一样的,而且之前用了大半年同样的下载量从来没有报错过(:з」∠)

li0817 commented 5 years ago

我发现我用梯子的话网站还是能看图片的,虽然下载倒是 509;顺便反映下其他几个问题

  1. 是不是 cookie 的原因?即便我开了全局代理下载依旧 509,有办法走梯子吗
  2. 可否加回 “还原/最大化” 按钮,现在默认就是全屏大小,无法调节窗口尺寸
  3. 无法批量右键操作,比如多选后重置任务,多选后右键会变成单选(除非操作菜单下选重置所有任务)
  4. 无法批量暂停任务,多选后,点菜单栏的“暂停”,却需要多次点击,一次只能暂停一个(除非操作菜单下选暂停所有任务)
  5. 重置任务后重新下载,不会自动删掉已下载图片(不是指封面),而是保留原图片再下载
dipoo commented 5 years ago

我发现我用梯子的话网站还是能看图片的,虽然下载倒是 509;顺便反映下其他几个问题

  1. 是不是 cookie 的原因?即便我开了全局代理下载依旧 509,有办法走梯子吗
  2. 可否加回 “还原/最大化” 按钮,现在默认就是全屏大小,无法调节窗口尺寸
  3. 无法批量右键操作,比如多选后重置任务,多选后右键会变成单选(除非操作菜单下选重置所有任务)
  4. 无法批量暂停任务,多选后,点菜单栏的“暂停”,却需要多次点击,一次只能暂停一个(除非操作菜单下选暂停所有任务)
  5. 重置任务后重新下载,不会自动删掉已下载图片(不是指封面),而是保留原图片再下载

1.不清楚是否cookie的问题,你可以换着试试。开了全局代理,那么下载器也是走的代理。 其他问题我有时间再看看,谢谢反馈。

li0817 commented 5 years ago
  1. 试了下换cookie,不是它的原因,问题依旧,还是没有走代理;全局代理对其他程序都有效所以应该也不是梯子的问题

  2. 补充说明那个无法批量暂停的,我发现重新打开下载器后,有时的任务依旧保持着“正在排队”的状态,而此时如果批量选择它们,点菜单栏上的“暂停”,那么有多少个任务就需要点击暂停多少次,无法一键完成;而正常下载中的任务无此问题

  3. 另外我发现,当一个任务已经下载成功了一张图片以上(除封面),如果此时下载异常或配额不足,继续任务的话看上去会像是正常下载,但下下来都是509图片;而若是任务还没有下过一张图片(除封面),就处于异常的话,那么将不会进行任何下载,信息栏会报出下载异常或配额不足并自动暂停下载。这也是之前我一度以为它下载成功了但打开发现很多都是509的原因

li0817 commented 5 years ago

手动设置代理后成功,但也由此测试出了一个事情—— 不论用不用梯子下,十个本子左右就是上限了。 都是十几二十几张图的那种,仅10个本子就能耗掉5000张的限制,所以接下来就是509下不动了

我想会不会是代码有误导致重复请求了多次?因为不是码农不会代码开源也看不懂,只能到这了,望debug下,应该不是我网络问题吧,以前的版本用了大半年都没有这样过(:з」∠)

dipoo commented 5 years ago

关于509,我已经很多年没有碰到过了,即使一天超过10几个本子。你的问题我觉得是账号和IP的原因吧,规则我真不懂,也没办法研究。

li0817 commented 5 years ago

就不开新issue了,等了一周没看到有人反映,这个应该只是我个人问题,这次解决过后关闭此issue

之前的问题没有解决,但也算曲线救国吧,过去的几个月我一直在用不同的免费代理ip,用完了就换,每个IP都是只能下二三十个本子 这次ex挂掉又复活,不确定变动了什么,现在下载有些小问题

首先,在不用代理IP或者使用自己买的vps的IP的情况下,下载没有问题 但网上能找到的所有的免费IP,不论是http(s)还是socks,无一例外,全都下不了,过去几个月我找了那么多IP都从来没有出现过这种情况,我试了上百IP无一可行,不论境内境外

报错有以下几种,IP本身就不可用、读取流超时滞后重试或者是Connection Reset的就不说了,以下是基本保证代理IP本身有效的情况下的错误

  1. 在启动egdownloader时,如果IP连不上,就会有以下错误 正在检测版本... https://raw.githubusercontent.com/dipoo/egdownloader/master/script/egversion,proxy:HTTP @ /【代理IP】 null 检查版本失败,json为空

注:如果在代理设置界面点击测试按钮,其结果会显示为”[空]“

  1. 在有的IP的情况下,会是这个报错,但js我觉得理论上应该没问题,不然早就有人反馈了才是

    getdownloadUrl异常,请检查script/download.js脚本是否出现问题! XXX.jpg:获取图片下载地址为空

当然,我已经试过好几次拿git上的文件去覆盖了,但依旧会报错

  1. 如果没有出现上述两种错误,该IP可以检测到新版本,也可以正常进行搜索,但下载依然报错 http://exhentai.org/fullimg.php?gid=1452883&page=110&key=n6jarzs9bhs:图片流无效

  2. 因为如果使用自己的梯子,可以正常下载,于是试着给其设置正向代理,看那些免费IP能不能用,报错如下;当然这个可能算邪道,我甚至不知道这方法是否有可行性,这个错误大可无视

    Remote host closed connection during handshake

error.log我看了下,有最近两周的内容,但也有好几万行,所以就不发上来了,如果需要的话我再单独发

哦对了,里站挂了后出表站的版本时IP尚还能用,但里站复活后、表里都支持的现在版本IP就用不了了

dipoo commented 5 years ago

信息太多了,很多场景我无法模拟,有一点需要确认:程序和脚本是最新的吗? 因为我看到第3点提供的下载原图地址竟然是http协议的,而我获取的是https协议。

li0817 commented 5 years ago

是最新的啊……是我姿势不对吗 记得之前显示过远程脚本更新,这个当然点了更新了,后来出了问题,保险起见又git下了份源码,把里面能替的jar和js都换过了 刚才又去替换了一遍,看了下

2019-08-09 22:31:55 (C94) [Misty Isle (そりむらようじ)] 堕落勇者とサキュバスの宴 [中国翻訳]:007.png:获取图片下载地址为空 2019-08-09 22:31:55 https://e-hentai.org/s/05ad054456/1455412-8,proxy:HTTP @ /127.0.0.1:1080

2019-08-09 22:27:27 https://exhentai.org/s/026ffdf57b/1452883-4,proxy:HTTP @ /127.0.0.1:1080 2019-08-09 22:27:28 https://exhentai.org/fullimg.php?gid=1452883&page=4&key=202n0t39bie,proxy:HTTP @ /127.0.0.1:1080 2019-08-09 22:27:30 302 http://46.166.148.137/im/026ffdf57b90da05452ce2cdac345831539d7311-2498545-2430-1600-jpg/434822-43785eb6fd5e705d13ed8b3e8848403a8c75e21c/0002.jpg?dl=1 2019-08-09 22:27:30 http://46.166.148.137/im/026ffdf57b90da05452ce2cdac345831539d7311-2498545-2430-1600-jpg/434822-43785eb6fd5e705d13ed8b3e8848403a8c75e21c/0002.jpg?dl=1,proxy:HTTP @ /127.0.0.1:1080 2019-08-09 22:27:32 DownloadWorker-[A-10] Lord of Trash 完全版 第1-20話 [中国翻訳]:0002.jpg(2.38MB, 2430x1600):下载完成,耗时3.81秒

2019-08-09 22:35:54 DownloadWorker-(C94) [ケーキひと切れ (IAPOC)] 堕華‐オツルハナ 芽‐ (艦隊これくしょん -艦これ-) 中国翻訳:开始下载 2019-08-09 22:35:54 https://exhentai.org/s/e65854994c/1456993-1,proxy:HTTP @ /127.0.0.1:1080 2019-08-09 22:35:55 https://exhentai.org/fullimg.php?gid=1456993&page=1&key=53vm78b9bie,proxy:HTTP @ /127.0.0.1:1080 2019-08-09 22:35:57 302 http://46.166.148.133/im/e65854994cd91776417971feee0258fa9ee6a9dc-8201899-4291-6051-jpg/434822-45678b12d45a379750c8c71e5c8398bfc4689f58/000.jpg?dl=1 2019-08-09 22:35:57 http://46.166.148.133/im/e65854994cd91776417971feee0258fa9ee6a9dc-8201899-4291-6051-jpg/434822-45678b12d45a379750c8c71e5c8398bfc4689f58/000.jpg?dl=1,proxy:HTTP @ /127.0.0.1:1080 2019-08-09 22:36:00 DownloadWorker-(C94) [ケーキひと切れ (IAPOC)] 堕華‐オツルハナ 芽‐ (艦隊これくしょん -艦これ-) [中国翻訳]:000.jpg(7.82MB, 4291x6051):下载完成,耗时4.24秒

这回没问题了吧 不过该有的错误还是一样有,应该跟https没关系……

dipoo commented 5 years ago

当出现获取图片下载地址为空的错误时,暂停下载,然后把该图片相关的日志和source/download.html的内容发出来看看。

li0817 commented 5 years ago

日志是指控制台的console.log还是指error.log

至于那个download.html,打开看了下

Your IP address has been temporarily banned for excessive pageloads which indicates that you are using automated mirroring/harvesting software. The ban expires in 5 hours and 28 minutes

没想到被ban了 我又试了下别的ip,包括不同国家地区的

看了下download.html不是显示被ban就是显示509图片

要说这些IP全都达到上限了这可能性也太小了……虽然之前我有猜测过是不是里站挂掉后很多人急需大量下载包括想搞镜像站的,所以有人弄了个IP池用尽了大量免费IP……

至于socks代理,没用过,因为不知道是不是姿势不对,总是显示

Malformed reply from SOCKS server

综合来看,被ban的ip会显示获取图片下载地址为空 不过不是很清楚download.html的原理,有的IP会显示获取图片下载地址为空但download.html却没有被更新

推测是,一种是单纯显示获取图片下载地址为空,另一种是getdownloadUrl异常,请检查script/download.js脚本是否出现问题!并且显示获取图片下载地址为空 前者的话download.html不会被更新,因为没有请求到页面,后者则可能是被ban或509

总的来说,大概还是IP问题?找一些没被ban的ip……?但有时会报错图片流无效又是个什么情况,比较少见不清楚怎么重现。。

另外,有什么免费IP列表的网站推荐么; 不过话又说回来,如果真是ip问题的话,要么是E站有意ban了一批特定地区/端口的,要么是近期使用免费IP的人激增大致被ban吧,可是,ban的时间也就几个小时而已啊……我是那么多天都找不到能用的……

起床后我再试试看相同的IP(:з」∠)

li0817 commented 5 years ago

我发现被ban的ip时间到了后,有两种情况

一种是download.html更新了,但显示错误500,也就是

500 Internal Server Error

感觉这是IP本身失效了呢?过会儿再试的是时候,控制台就是单纯地超时

读取流超时,滞后重试,耗时20.00秒

另一种则是download.html没有更新,控制台报错

getdownloadUrl异常,请检查script/download.js脚本是否出现问题! 获取图片下载地址为空

另外,我还发现有一种IP,如果时间久了,偶尔还是能下到一两张的,但99%的时间都还是显示

Connection refused: connect

该错误download.html不会更新,应该是跟ip的联系都没建立起来当然也就没有请求到url

li0817 commented 5 years ago

又试了下别的国家的ip

Your IP address has been temporarily banned for excessive pageloads which indicates that you are using automated mirroring/harvesting software. The ban expires in 6 days and 18 hours

Your IP address has been temporarily banned for excessive pageloads which indicates that you are using automated mirroring/harvesting software. The ban expires in 6 days and 22 hours

有点怀疑是代理被识别然后我自己被ban了……?可是我自己的本地ip和我梯子的ip都是可以正常下载的……

对了,此时的控制台的错误没有显示getdownloadUrl异常,只是显示了获取图片下载地址为空

VedaTazrok commented 4 years ago

有点好奇,为什么用下载器的配额消耗非常巨大,一次可以用掉数十张图的配额,但是在线直接看每次只消耗一张?

dipoo commented 4 years ago

@VedaTazrok 说下你的验证步骤,后面我试试。

VedaTazrok commented 4 years ago

请问验证是?

dipoo commented 4 years ago

就是如何得出这样的结论,因为配额这一块我不太熟,不知怎么验证。

VedaTazrok commented 4 years ago

配额在e-hentai的个人主页( https://e-hentai.org/home.php )可以直接看到,我是有5000页,每分钟回复3页。 能看到配额的话验证就很简单了,先在ex正常看一两页,然后去e-hentai检查配额,发现使用量就上涨了一两页。 之后再用下载器下载这本书一两页,暂停,查看配额,发现使用量直接上涨了数十页。我认为可能和下载时候的操作有关?毕竟直接看的话每次只访问页面一次。

dipoo notifications@github.com 于2019年10月1日周二 下午9:49写道:

就是如何得出这样的结论,因为配额这一块我不太熟,不知怎么验证。

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/dipoo/egdownloader/issues/16?email_source=notifications&email_token=ALXS2PI3M3A4LHQAB4HI453QMQR5XA5CNFSM4GZZNNS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEADQ7JY#issuecomment-537333671, or mute the thread https://github.com/notifications/unsubscribe-auth/ALXS2PJ6Z627LZ7S6ZWE2ITQMQR5XANCNFSM4GZZNNSQ .

dipoo commented 4 years ago

ok,回头我研究下

VedaTazrok commented 4 years ago

我又研究了一下,发现差别了。。在ex下载单张原图一次也是消耗10页配额,在线看的可能是压缩过的图像一次是1页。可能不勾选下载原图就可解?之后我会再试一下。 另外一个小建议,最近一次更新之后好像每次打开下载器都是全屏,其实以前那样默认打开窗口化已经用习惯了。 这么多年持续更新,非常感谢。