关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
切换模式
返回顶部
首页
说说
日常
开发
游戏
资源
虚拟货币
首页
说说
日常
开发
游戏
资源
虚拟货币
关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
记一次奇妙的BUG修复
开发
·
2018-07-19
·
更新于 2020-06-26
LiesAuer
### 起因 最近写了一个酸酸乳订阅,然后分享给朋友的时候,朋友就反映说路由器和电脑都能订阅,只有手机不能订阅,然后就开始了奇妙的抓虫之旅。 ### 分析 由于反映说只有手机不能订阅(事实上我刚写完经测试手机电脑均OK),所以我一开始就把源头锁定在了手机端APP上,但是依然非常不解,因为我是测试过能订阅的!更气的是,安卓客户端不提示任何错误! ### 尝试1 从网上下载源代码尝试阅读源代码找到点头绪,然后发现包内除了一个`System.java`文件外就找不到其余`.java`文件了,非常不解,然后在另外的文件夹找出一堆`.scala`文件,我第一眼看上去以为是`java`代码,然而后来(事后)我上网查了下这是`scala`代码!只是很像`java`代码而已,我就说`java`什么时候有这么奇怪的语法了!直接全局查找定位`subscribe`相关代码,但是由于不懂`scala`,找到了琐碎代码最后无果而终。 代码片段: ![code1.png](https://storage.liesauer.net/2018/07/3062574264.png) ![code2.png](https://storage.liesauer.net/2018/07/1903235505.png) ### 尝试2 第二天尝试从请求下手找原因,然后在浏览器抓包后以为发现了一点端倪,网站返回了`gzip`头,然后就猜想会不会是安卓端的请求库自动识别`gzip`头,然后尝试解压数据,导致错误呢?然后在订阅程序中找代码,发现我根本没处理`gzip`的情况啊!哪来的`gzip`头???!!!然后登录虚机后台,发现也没有什么选项是说强制开启`gzip`的。 ![TIM截图20180719210708.png](https://storage.liesauer.net/2018/07/3222680465.png) ### 尝试3 最终尝试去抓手机的包,看看能不能找到端倪,usb连接到电脑,然后一顿操作抓包并推到电脑使用`wireshark`打开分析 ``` cmd cd desktop adb shell su tcpdump -p -vv -s 0 -w /sdcard/package.pcap // ctrl+c断开连接 adb pull /sdcard/package.pcap // 然后就把包推到电脑桌面了,然后wireshark打开分析 ``` 果然发现了端倪! ![TIM图片20180719211631.png](https://storage.liesauer.net/2018/07/3308253204.png) 请求中多了一个`%02`特殊符号,导致`ACCESS_TOKEN`错误,然后因为订阅的特殊性,程序也只返回了空白的200。 ### 解决 既然找到问题所在,解决方法也很简单,对`ACCESS_TOKEN`进行过滤,简单粗暴有效。 ```php $access_token = preg_replace('/\W/', '', $access_token); ``` 问题解决! ### 题外话 如果有朋友需要订阅可直接邮件/QQ/微信找我都可以。订阅中的所有节点不适用于下载及视频,有这类需求的可自行购买(别找我买)。 仅限现实认识或者网上比较熟的,否则勿扰!
如果您觉得文章或项目对您有帮助,戳我请博主喝一杯咖啡叭!
取消回复
提交评论
瞅一瞅叭
个人接活
扒接口、爬虫、JS逆向、web3量化
域名出售
uterminal.ai
服务器推荐
RackNerd 2C2G $20.98/年(美国 隐藏款)
狗云 1C0.75G ¥150/年(香港 BGP)
最新评论
www: 配置文件填写后,运行exe 显示登录信息,然后就卡住了 ┌─...
从良未遂: 你好,我接入cloudflare后发现修改主题、发表文章、回复评...
colin: 所以用 windows 来开发是原罪
人: 不是怎么意外的连上外网?
志航: 可以试着把文件上传蓝奏云,这么干的样例很多
志航: QQ群加不进去
tinker: 为什么运行一段时间就会停止,重启又恢复!没有报错信息,频道信息和...
关于站长
广东 佛山
liesauer#liesauer.net
LiesAuer
CC BY-NC-SA 4.0
粤ICP备16094588号-1
萌ICP备20245567号
Theme
Jasmine
by
Kent Liao