Closed lshilshi closed 1 year ago
我这边现在调试,随便搜了个关键词没有报错。
而且昨天写书源的时候为了把这两个镜像互补搭配(源注释里写了,就是为了降低我整的这个新镜像的流量压力,如果流量耗尽就会关闭),我来回调试了半天,最少测试了几十遍,最后可以确定是完全没问题了,还顺手加了发现规则、搞了搞正文净化。
我也遇到同样的问题,阅读app版本是3.23,但再反复尝试中有一次成功用69书吧的书源更新了。
目前发现,在书源筛选(就是底部菜单栏第二个)里,选69书吧进入类别,里面所有的书都是没问题的,但是书籍搜索就是不行。唯一一次成功的,也具体忘了当时是如何操作。
手机没有科学上网,书籍管理那,也尝试了禁用所有书源只保留69书吧,然后搜索任意书,都不行
@keai-1989 没看明白你说的第二段话。。。
我是在书源管理里找到 69书吧
,点击其右侧的 ┇
选择 搜索
,然后输入框里输入关键词或书名搜索即可。
除此之外,也可以在 ┇
里选择调试,然后直接在输入框里输入关键词或书名搜索,这样会输出调试结果。
上面这两处,无论是哪个,我这边都可以正常搜索。
@XIU2 刚调试了下还是不行
[00:00.404] java.io.IOException: Android internal error
at okhttp3.internal.platform.android.Android10SocketAdapter.configureTlsExtensions(SourceFile:55)
at okhttp3.internal.platform.Android10Platform.configureTlsExtensions(SourceFile:43)
at okhttp3.internal.connection.RealConnection.connectTls(SourceFile:74)
at okhttp3.internal.connection.RealConnection.establishProtocol(SourceFile:53)
at okhttp3.internal.connection.RealConnection.connect(SourceFile:183)
at okhttp3.internal.connection.ExchangeFinder.findConnection(SourceFile:273)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(SourceFile:1)
at okhttp3.internal.connection.ExchangeFinder.find(SourceFile:52)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(SourceFile:30)
at okhttp3.internal.connection.ConnectInterceptor.intercept(SourceFile:12)
at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:157)
at okhttp3.internal.cache.CacheInterceptor.intercept(SourceFile:195)
at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:157)
at okhttp3.internal.http.BridgeInterceptor.intercept(SourceFile:168)
at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:157)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(SourceFile:33)
at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:157)
at io.legado.app.help.http.t.intercept(SourceFile:72)
at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:157)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(SourceFile:113)
at okhttp3.internal.connection.RealCall$AsyncCall.run(SourceFile:34)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.IllegalArgumentException: Invalid input to toASCII: www_69shu_com.lnkr.co
at java.net.IDN.toASCII(IDN.java:115)
at javax.net.ssl.SNIHostName.
at android.icu.impl.IDNA2003.convertToASCII(IDNA2003.java:218)
at android.icu.impl.IDNA2003.convertIDNToASCII(IDNA2003.java:276)
at android.icu.text.IDNA.convertIDNToASCII(IDNA.java:655)
at java.net.IDN.toASCII(IDN.java:108)
... 28 more
@keai-1989 你这个调试结果和楼主的一样,但没啥帮助,我也不清楚这个错误是什么意思。
你们通过手机浏览器,能打开 https://www_69shu_com.lnkr.co 并搜索吗?
注意,要用使用 WebView 内核的浏览器,比如系统自带的浏览器、Via 浏览器这些,因为《阅读》APP 是依靠 WebView 内核来访问小说网站的,因此使用同一个内核可以避免内核因素干扰。
你们通过手机浏览器,能打开 https://www_69shu_com.lnkr.co 并搜索吗?
不可以
浏览器提示什么? 你们是什么运营商?是不是你们的运营商把该域名屏蔽了?你们是移动么?
我是联通,我宽带/流量都能正常访问该网站。
浏览器提示什么? 你们是什么运营商?是不是你们的运营商把该域名屏蔽了?你们是移动么?
我是联通,我宽带/流量都能正常访问该网站。
https://www_69shu_com.lnkr.co/ 可以打开,但无法搜索,显示 :该网页无法正常运作
https://www_69shu_com.lnkr.co/txt/A47994.htm 这样的页面,内容镜像那个倒是能打开
我是电信,用的阿里DNS
是不是搜索页面和内容镜像没能很好的跳转过去?
你搜索的关键词是什么?
你搜索的关键词是什么?
灵境行者 还有其他任意字,比如 龙 道士 什么的
我试了下,发现我这边也无法访问 https://www_69shu_com.lnkr.co/txt/A47994.htm 这种详情页了(HTTP ERROR 401)...
69 书吧在搜索时,如果是完整书名就会直接重定向至该书的详情页,而因为详情页打不开就出问题了。
但是如果搜索的部分关键词,我这边是能看到搜索结果列表的:
然而奇怪的是,我昨天大量调试时,还一切正常,怎么一晚上过去就 G 了。。。
我试了下,发现我这边也无法访问 https://www_69shu_com.lnkr.co/txt/A47994.htm 这种详情页了(HTTP ERROR 401)...
69 书吧在搜索时,如果是完整书名就会直接重定向至该书的详情页,而因为详情页打不开就出问题了。 但是如果搜索的部分关键词,我这边是能看到搜索结果列表的:
然而奇怪的是,我昨天大量调试时,还一切正常,怎么一晚上过去就 G 了。。。
所以,大佬,不是我们的问题,而是真不行了哟,嘿嘿嘿
研究了几个小时,无法解决该问题,也想了好几种其他方案,但都无法实现,不折腾了。
69 书吧
书源其实从一个多星期以前,我就给改成这个镜像 https://www_69shu_com.lnkr.co
了,一直到昨天都是能用的。也是昨天我看到有人提到 https://d34xj6zzll2cc7.cloudfront.net
于是考虑到降低流量压力,折腾了下把这两个镜像搭配使用(前者只用于搜索,来解决后者搜索完整书名会重定向到被墙的原域名的问题),结果改完之后,过去一晚上莫名就 G 了,白折腾了。。。不知道是不是 69 书吧做了什么限制?还是其它原因,总之我是懒得研究了。。。
看来镜像啥的,还是不能公开使用。。。
另外,更新了该书源,移除了新镜像相关,完全改成 https://d34xj6zzll2cc7.cloudfront.net
了,但也因此无法免翻搜索完整书名了(也意味着无法在已有书籍上换源了,只能要么搜索部分书名,要么手动添加书籍 URL,要么发现里找)。
另外,这类镜像是可以 0 成本 + 无服务器 自建的:
当然,这个
www_69shu_com.lnkr.co
镜像不是 Workers 搭建的,而是服务器上搞得,但原理都一样。
注册一个 Cloudflare 账号,整个免费域名添加进去,然后创建一个 Cloudflare Workers 反代即可,每天有 10 万个请求额度,自用完全够了(但要是公开的话就不够了)。
创建后,把这个书源里的 www_69shu_com.lnkr.co
域名替换为自己的域名即可。
[点击展开] - 查看你们反馈该问题时所用的书源
如果对 69 书吧需求很大,且想要免翻的,有兴趣可以去研究下(具体如何 Workers 反代就自己搜吧,教程很多)。
@lshilshi @keai-1989
你们更新书源试试吧(注意是源域名为 https://d34xj6zzll2cc7.cloudfront.net
的 69 书吧
书源)。
因为还是不甘心这两天白折腾,再加上早上头脑清醒冒出了一些新想法,又折腾了小半天,终于完美解决了。
目前该 69 书吧
书源只用到了 https://d34xj6zzll2cc7.cloudfront.net
这个地址。
另外,我顺便看了一下,该域名并非是第三方镜像,而就是
69 书吧
本身,因为69 书吧
用的是 AWS CloudFront CDN,因此都会被分配一个专属的XXX.cloudfront.net
域名。除了这点外,正常的反代/镜像都会替换网页中的
www.69shu.com
域名为自身,而这货竟然没做(前两天我还很纳闷怎么会有这种奇葩反代,这完全没有实用价值呀...),显然不像是个正常的反代/镜像。
@lshilshi @keai-1989
- 已修复:无法搜索完整书名、书籍换源搜不到 等问题,可 免翻 完美使用。
你们更新书源试试吧(注意是源域名为
https://d34xj6zzll2cc7.cloudfront.net
的69 书吧
书源)。因为还是不甘心这两天白折腾,再加上早上头脑清醒冒出了一些新想法,又折腾了小半天,终于完美解决了。 目前该
69 书吧
书源只用到了https://d34xj6zzll2cc7.cloudfront.net
这个地址。另外,我顺便看了一下,该域名并非是第三方镜像,而就是
69 书吧
本身,因为69 书吧
用的是 AWS CloudFront CDN,因此都会被分配一个专属的XXX.cloudfront.net
域名。除了这点外,正常的反代/镜像都会替换网页中的
www.69shu.com
域名为自身,而这货竟然没做(前两天我还很纳闷怎么会有这种奇葩反代,这完全没有实用价值呀...),显然不像是个正常的反代/镜像。
谢谢你的辛苦付出!因为上gayhub要翻,平时懒得挂T,所以回复的慢,抱歉。 已经注意到你的新书源了,第一时间食用了(没办法,69比墙内的多数笔趣同库,或其它同库书源要完美太多了,没有假更新章节,没太多干扰广告等等)
比一开始的免翻站要完美太多了,不过在我自己手机上(最新阅读的3.x版本下),还是有些许瑕疵,不知道是不是我的特例 1、霸武,开荒著,https://book.qidian.com/info/1033674106/ 在本源上可以搜出结果(以前免翻源里本书搜不出结果),但是点击换源,会提示"www.69shu.com/xx.xx.xx.xx",说明虽然搜索出来了,但是换源时还会切到69shu去
2、巫师:从骑士呼吸法开始肝经验,田隶著,https://my.qidian.com/author/403390573/ 在本源里也搜不到结果(以前免翻源里本书同样搜不出结果),只能挂T搜索和换源
我手机里10+本69站的书,除这2本外,其余免翻表现的确完美 不过以上两种不知道是否为特例,如可以请继续辛苦修复(本人能力有限)
另外提供个ip http://182.160.9.195:3002,可直接访问69shu 不过不适用https模式,和免翻存在一样的问题
我不知道怎么好利用这个ip,你看有没有帮助
@lshilshi
搜了下 霸武
发现,这个详情页地址中数字前面不是 A,而是 B,从而导致访问 A 又给重定向到 B 的 URL 了。
https://d34xj6zzll2cc7.cloudfront.net/txt/A43276.htm
https://www.69shu.com/txt/B43276.htm
巫师:从骑士呼吸法开始肝经验
原因也是一样:
https://www.69shu.com/txt/B46063.htm
因为搜索的是完整书名,因此直接重定向至详情页,而我用的是 A,被重定向 B 了,就无法访问了。
搞不懂这个网站的详情页地址规则, 有的是这样: /txt/46957.htm 有的是这样: /txt/A43616.htm 有的是这样: /txt/B43276.htm
因为我前几天调试的时候,只碰到了前两者,试了下发现不带 A 的加上 A 也能访问,因此干脆都给加上 A,结果你告诉我还有 B,难道还有 C 什么的么?(试了下还真是,数字前无字母加上任意一个字母都能打开)。。。
@lshilshi 搜了下
霸武
发现,这个详情页地址中数字前面不是 A,而是 B,从而导致访问 A 又给重定向到 B 的 URL 了。 d34xj6zzll2cc7.cloudfront.net/txt/A43276.htm 69shu.com/txt/B43276.htm
巫师:从骑士呼吸法开始肝经验
原因也是一样: 69shu.com/txt/B46063.htm 因为搜索的是完整书名,因此直接重定向至详情页,而我用的是 A,被重定向 B 了,就无法访问了。搞不懂这个网站的详情页地址规则, 有的是这样: /txt/46957.htm 有的是这样: /txt/A43616.htm 有的是这样: /txt/B43276.htm
因为我前几天调试的时候,只碰到了前两者,试了下发现不带 A 的加上 A 也能访问,因此干脆都给加上 A,结果你告诉我还有 B,难道还有 C 什么的么?(试了下还真是,数字前无字母加上任意一个字母都能打开)。。。
是的,我之前也想过用“http://182.160.9.195:3002”来写书源,遇到类似的问题 也不知道69shu为什么有些书籍还必须跳回去 不过我人能力有限,所以我最后躺平还是等待你们这些大佬的辛勤付出
@lshilshi 已更新修复。
这次应该是 真 · 完美解决 了,不过缺点就是,从搜索页/发现页 => 详情页时,会增加一次请求,这也就是意味着使用体验上时间会略微增加一些。
这次更新,其实就是将详情页 URL 获取改成和搜索页 URL 差不多,目前的搜索流程是:
搜索 霸武
(或其他不会重定向到详情页的 关键词):
简单来说,搜索时会产生 2 次请求(一次仅头部请求,一次完整请求),然后到获取详情页时,还会再产生 2 次请求(一次仅头部请求,一次完整请求)。
先只获取搜索页的头部信息(不获取网页内容,因此速度更快、更省流量),根据 Location 头部字段判断是否重定向,
发现不包含 Location 头部字段(说明没有重定向到具体书籍的详情页),因此只需要正常访问搜索页 URL 即可(来获取搜索结果列表)
然后选择第一个搜索结果列表,并获得详情页 URL(此时不带字母 /txt/43276.htm)并改一下其中域名
再去获取新的详情页 URL 的头部信息,根据 Location 头部字段判断是否重定向,
发现包含 Location 头部字段(.../txt/B43276.htm),于是组合后返回该 https://d34xj6zzll2cc7.cloudfront.net/txt/B43276.htm 详情页地址,
后续就开始解析该详情页了。
搜索 巫师:从骑士呼吸法开始肝经验
(或其他会重定向到详情页的 完整书名):
简单来说,搜索时总共会产生 3 次请求(两次仅头部请求,一次完整请求,这个完整请求就是获取详情页的)。
先只获取搜索页的头部信息(不获取网页内容,因此速度更快、更省流量),根据 Location 头部字段判断是否重定向,
发现包含 Location 头部字段,说明有重定向到具体书籍的详情页,那么此时需要组合获得新的详情页 URL(此时不带字母 .../txt/46063.htm)
然后再去获取新的详情页 URL 的头部信息,根据 Location 头部字段判断是否重定向,
发现包含 Location 头部字段(和前面的区别是从 /txt/46063.htm 变成了 /txt/B46063.htm),于是组合后返回该 https://d34xj6zzll2cc7.cloudfront.net/txt/B46063.htm 详情页地址,
(如果没有包含 Location 头部字段,说明不需要重定向到带字母的 URL,则就直接返回这个不带字母的新详情页 URL 即可
后续就开始解析该详情页了。
当然啦,虽然看着请求数增加了的样子,但实际上只是把原本自动重定向的请求拆分成一个个手动的。
如果使用的是 www.69shu.com
这个原域名的话,其实也差不多,因为使用这个域名搜索完整书源,依然会先来一次请求(算是 1 个头部请求),然后重定向至详情页(1 个完整请求),这样的话就是 2 个请求了,相比起来只是比该书源少了 1 个请求。
@lshilshi 已更新修复。
这次应该是 真 · 完美解决 了,不过缺点就是,从搜索页/发现页 => 详情页时,会增加一次请求,这也就是意味着使用体验上时间会略微增加一些。
这次更新,其实就是将详情页 URL 获取改成和搜索页 URL 差不多,目前的搜索流程是:
搜索
霸武
(或其他不会重定向到详情页的 关键词):简单来说,搜索时会产生 2 次请求(一次仅头部请求,一次完整请求),然后到获取详情页时,还会再产生 2 次请求(一次仅头部请求,一次完整请求)。
先只获取搜索页的头部信息(不获取网页内容,因此速度更快、更省流量),根据 Location 头部字段判断是否重定向, 发现不包含 Location 头部字段(说明没有重定向到具体书籍的详情页),因此只需要正常访问搜索页 URL 即可(来获取搜索结果列表) 然后选择第一个搜索结果列表,并获得详情页 URL(此时不带字母 /txt/43276.htm)并改一下其中域名 再去获取新的详情页 URL 的头部信息,根据 Location 头部字段判断是否重定向, 发现包含 Location 头部字段(.../txt/B43276.htm),于是组合后返回该 https://d34xj6zzll2cc7.cloudfront.net/txt/B43276.htm 详情页地址, 后续就开始解析该详情页了。
搜索
巫师:从骑士呼吸法开始肝经验
(或其他会重定向到详情页的 完整书名):简单来说,搜索时总共会产生 3 次请求(两次仅头部请求,一次完整请求,这个完整请求就是获取详情页的)。
先只获取搜索页的头部信息(不获取网页内容,因此速度更快、更省流量),根据 Location 头部字段判断是否重定向, 发现包含 Location 头部字段,说明有重定向到具体书籍的详情页,那么此时需要组合获得新的详情页 URL(此时不带字母 .../txt/46063.htm) 然后再去获取新的详情页 URL 的头部信息,根据 Location 头部字段判断是否重定向, 发现包含 Location 头部字段(和前面的区别是从 /txt/46063.htm 变成了 /txt/B46063.htm),于是组合后返回该 https://d34xj6zzll2cc7.cloudfront.net/txt/B46063.htm 详情页地址, (如果没有包含 Location 头部字段,说明不需要重定向到带字母的 URL,则就直接返回这个不带字母的新详情页 URL 即可 后续就开始解析该详情页了。
当然啦,虽然看着请求数增加了的样子,但实际上只是把原本自动重定向的请求拆分成一个个手动的。 如果使用的是
www.69shu.com
这个原域名的话,其实也差不多,因为使用这个域名搜索完整书源,依然会先来一次请求(算是 1 个头部请求),然后重定向至详情页(1 个完整请求),这样的话就是 2 个请求了,相比起来只是比该书源少了 1 个请求。
大佬赛高! 现在目前的确是都能正常使用了,撒花!!
ps: 再麻烦一下,69虽好,但是部分书时效的确差了点 不过内网剩下的那些API源也都不咋样,这中间“番茄小说”还算不错,出现乱码目录和假更新的几率较少
但现在你书源的“番茄小说(https://www.fanqianxs.com)”可以在换源页面正常搜索,也能刷出最新章节,但点击换源就会提示“目录列表为空”,有pc短看网页,目录列表规则“#list dd a”应该是正确的,但不知道为什么就有这个错误 还请你看一下
另外这个“番茄小说(https://www.fanqianxs.com)”和“西红柿小说网(https://www.xhsxsw.com)”应该是一家
@lshilshi 刚才发现 69书吧 搜索失效了,检查了下发现了原因:
当初为了提高搜索速度而选择只获取头部,但阅读的 java.head()
函数不支持 POST 提交,于是把 POST 改成 GET 方式,但最近 69书吧 站长可能发现了该情况,不只是出于什么原因而将这种方式禁止了(报错 HTTP 403)。
我刚才给改回 POST 方式了,已经可以正常使用了,你记得更新一下书源,可能会略微增加书源搜索时间,但影响不大。
好的,谢谢你的辛苦工作和持续关注!得以免F下使用69。
不过上面我提到的番茄/西红柿站,有空可以看看吗?
阅读版本
3.23.061518
书源名称
69书吧
问题描述
看到有新镜像站,以为可以免翻,实在很高兴 但是实际连搜索都不能
在翻墙或免翻情况下 调试搜索,都是如下错误提示
的确在浏览器模式下,本镜像站是可用的
为什么会出现如上故障?
附加截图
No response