MewX / light-novel-library_Wenku8_Android

[CASUALLY MAINTAINED] 轻小说文库 (Wenku8.com) 安卓版第三方公益App,始于2014年的Material Design风格、无广告、不盈利、Google Play上安装包最小的轻小说阅读器(light novel reader)。目前除了网站的API以外,还添加了我自己架的Cloudflare Worker 中继节点用来突破网站API的限制 wenku8-relay.mewx.org.
https://wenku8.mewx.org
GNU General Public License v2.0
1.74k stars 295 forks source link

Adding HTTP insecure request support for Android 9.0 #41

Closed liweichen6 closed 5 years ago

liweichen6 commented 6 years ago

实机 (OnePlus 6) 升级至 Android 9.0 后登陆失效,点击头像提示 "Relogged." 但无任何反应。 清除数据后可以进入登陆界面,但点击登陆无任何提示,尝试抓了下包没有看到任何发送请求。 虚机 (Studio 自带 AVD,Pixel 2 Android 9.0 Google Play) 复现了同样的结果。

水平有限没有找到原因,9.0 变化里提到 ”移除了 Apache HTTP“,但看了下 app 用的 HttpURLConnection 应该没有影响。

ciskonc commented 5 years ago

我也有这个情况。 小米poco 系统los16

fython commented 5 years ago

可能是 9.0 默认限制了明文 HTTP 连接

MewX commented 5 years ago

@fython 这么一说还是很有可能的,这个项目里面用的一个volley网络库实现是用的org.apache.http.*

感谢反馈!回头有时间来修

MewX commented 5 years ago

机缘巧合检查了下volley,还在维护,应该可以排除是volley的问题。

然后搜索了一下类似的问题可能是由于wenku8到目前为止一直不支持https的连接。所以我之后会妥协一下加个允许http请求的参数:https://stackoverflow.com/a/50834600/4206925

W/System.err: java.io.IOException: Cleartext HTTP traffic to app.wenku8.com not permitted
                  at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115)
                  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
                  at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:258)
                  at org.mewx.wenku8.util.LightNetwork.LightHttpPostConnection(LightNetwork.java:88)
                  at org.mewx.wenku8.util.LightUserSession.doLoginFromGiven(LightUserSession.java:116)
                  at org.mewx.wenku8.activity.UserLoginActivity$AsyncLoginTask.doInBackground(UserLoginActivity.java:165)
                  at org.mewx.wenku8.activity.UserLoginActivity$AsyncLoginTask.doInBackground(UserLoginActivity.java:142)
                  at android.os.AsyncTask$2.call(AsyncTask.java:333)
                  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
                  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:764)
MewX commented 5 years ago

已修复:https://github.com/MewX/light-novel-library_Wenku8_Android/releases/tag/v1.6