NomadThanatos / readmoo-dl

112 stars 25 forks source link

full_path error, login issue #18

Open NomadThanatos opened 1 year ago

NomadThanatos commented 1 year ago
          > @NomadThanatos I have this: https://readmoo.com/book/210263843000101

It does have a trial reading but I still the get same error shown here:

c:/Users/z/Desktop/readmoo-dl-master/lib/readmoo_dl/downloader.rb:108:in `full_path': undefined method `+' for nil:NilClass (NoMethodError)

      base + path
           ^
  from c:/Users/z/Desktop/readmoo-dl-master/lib/readmoo_dl/downloader.rb:49:in `fetch_container_file'
  from c:/Users/z/Desktop/readmoo-dl-master/lib/readmoo_dl/downloader.rb:25:in `block in download'
  from c:/Users/z/Desktop/readmoo-dl-master/lib/readmoo_dl/downloader.rb:38:in `job'
  from c:/Users/z/Desktop/readmoo-dl-master/lib/readmoo_dl/downloader.rb:25:in `download'
  from c:/Users/z/Desktop/readmoo-dl-master/main.rb:19:in `<main>'
正在取得檔案路徑...成功
正在取得 META-INF/container.xml...```

请问你解决了吗?我也出现了相似的问题

(base) yan@MacBook-Air readmoo-dl-master % bundle exec ruby main.rb
正在取得檔案路徑...成功
正在取得 META-INF/container.xml.../Users/yan/Downloads/readmoo-dl-master/lib/readmoo_dl/downloader.rb:108:in `full_path': undefined method `+' for nil:NilClass (NoMethodError)
    from /Users/yan/Downloads/readmoo-dl-master/lib/readmoo_dl/downloader.rb:49:in `fetch_container_file'
    from /Users/yan/Downloads/readmoo-dl-master/lib/readmoo_dl/downloader.rb:25:in `block in download'
    from /Users/yan/Downloads/readmoo-dl-master/lib/readmoo_dl/downloader.rb:38:in `job'
    from /Users/yan/Downloads/readmoo-dl-master/lib/readmoo_dl/downloader.rb:25:in `download'
    from main.rb:19:in `<main>'

https://new-read.readmoo.com/mooreader/210258068000101

Originally posted by @PeepYXB in https://github.com/NomadThanatos/readmoo-dl/issues/13#issuecomment-1699668419

NomadThanatos commented 1 year ago

Actually I can download https://readmoo.com/book/210263843000101

[Nomad@GameBox readmoo-dl]$ bundle exec ruby main.rb
正在取得檔案路徑...成功
正在取得 META-INF/container.xml...成功
正在取得 META-INF/encryption.xml...Cannot fetch `encryption.xml` file
#<RuntimeError: 取得 /ebook/843/263843/259842/1_0/full/META-INF/encryption.xml 失敗, Details: StatusCode: 403, Body: <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>FAKXZNNRF5KCS0CA</RequestId><HostId>mDs1W5gBK4C0hsqKQm1PN7K6ScptUawyH+LSQ658VNQrGdn6IbgVwZw3l+LuW0BE3+qKVMTrg1k=</HostId></Error>, Headers: #<HTTP::Headers {"Content-Type"=>"application/xml", "Transfer-Encoding"=>"chunked", "Connection"=>"close", "Date"=>"Mon, 06 Nov 2023 21:14:35 GMT", "Server"=>"AmazonS3", "X-Cache"=>"Error from cloudfront", "Via"=>"1.1 e93c42e901bd60413b64429b4ab31058.cloudfront.net (CloudFront)", "X-Amz-Cf-Pop"=>"YTO50-P3", "X-Amz-Cf-Id"=>"GJszOQXVYGMRDmoz2ZTSDXo8VNUqiXQo5ORuNhFnP_PjMtspuyuoFw=="}>>
Just a encryption file, it doesn't matter...
成功
正在取得 *.opf 檔案...成功
1/31 => 開始下載 item/navigation-documents.xhtml
2/31 => 開始下載 item/style/book-style-tw.css
3/31 => 開始下載 item/style/style-reset-tw.css
4/31 => 開始下載 item/style/style-standard-tw.css
5/31 => 開始下載 item/style/style-advance-tw.css
6/31 => 開始下載 item/image/cover.jpg
7/31 => 開始下載 item/image/img-001.jpg
8/31 => 開始下載 item/image/img-002.jpg
9/31 => 開始下載 item/image/img-003.jpg
10/31 => 開始下載 item/image/img-998.jpg
11/31 => 開始下載 item/image/img-999.jpg
12/31 => 開始下載 item/image/back.jpg
13/31 => 開始下載 item/xhtml/p-cover.xhtml
14/31 => 開始下載 item/xhtml/p-titlepage.xhtml
15/31 => 開始下載 item/xhtml/p-001.xhtml
16/31 => 開始下載 item/xhtml/p-002.xhtml
17/31 => 開始下載 item/xhtml/p-003.xhtml
18/31 => 開始下載 item/xhtml/p-004.xhtml
19/31 => 開始下載 item/xhtml/p-005.xhtml
20/31 => 開始下載 item/xhtml/p-006.xhtml
21/31 => 開始下載 item/xhtml/p-007.xhtml
22/31 => 開始下載 item/xhtml/p-008.xhtml
23/31 => 開始下載 item/xhtml/p-009.xhtml
24/31 => 開始下載 item/xhtml/p-010.xhtml
25/31 => 開始下載 item/xhtml/p-011.xhtml
26/31 => 開始下載 item/xhtml/p-012.xhtml
27/31 => 開始下載 item/xhtml/p-013.xhtml
28/31 => 開始下載 item/xhtml/p-014.xhtml
29/31 => 開始下載 item/xhtml/p-015.xhtml
30/31 => 開始下載 item/xhtml/p-colophon.xhtml
31/31 => 開始下載 item/xhtml/p-back.xhtml
正在製作 epub 檔案...成功
210263843000101 下載完成
[Nomad@GameBox readmoo-dl]$ ls
Gemfile       history.txt.example  main.rb    暗黑經濟:不法交易如何威脅我們的未來.epub
Gemfile.lock  lib                  README.md  科學頑童費曼語錄.epub
[Nomad@GameBox readmoo-dl]$
NomadThanatos commented 1 year ago

I can reproduce the same error, by having CAPTCHA poped and just waiting instead of actually login by human interference. So basically if you login failed, you will have this issue, should also enhance the error log for login.

[Nomad@GameBox readmoo-dl]$ bundle exec ruby main.rb
正在取得檔案路徑...成功
正在取得 META-INF/container.xml.../home/Nomad/readmoo-dl/lib/readmoo_dl/downloader.rb:108:in `full_path': undefined method `+' for nil:NilClass (NoMethodError)
        from /home/Nomad/readmoo-dl/lib/readmoo_dl/downloader.rb:49:in `fetch_container_file'
        from /home/Nomad/readmoo-dl/lib/readmoo_dl/downloader.rb:25:in `block in download'
        from /home/Nomad/readmoo-dl/lib/readmoo_dl/downloader.rb:38:in `job'
        from /home/Nomad/readmoo-dl/lib/readmoo_dl/downloader.rb:25:in `download'
        from main.rb:19:in `<main>'
[Nomad@GameBox readmoo-dl]$