还在为大厂app抓不到包而犯愁吗?,一线互联网架构师设计思想解读开源框架

本文探讨了为何在抓取大厂App请求时遇到困难,关键在于App可能未使用系统设置的代理。通过分析Okhttp和Flutter的源码,揭示了它们对http代理的不同处理方式,Okhttp默认使用系统代理,而Flutter则不然。作者还分享了自己的学习历程和资料,旨在帮助开发者系统性地提升Android技术。
摘要由CSDN通过智能技术生成

抓不到请求的原因

大家都知道 http协议下层是tcp协议,tcp协议都是内置在操作系统里面的,我们最多只能使用tcp协议对外暴露的socket接口来进行编程, 我们是无法修改操作系统本身的tcp协议的实现的。

但是http协议不同,http协议 都是各个开发者自己实现的, 换句话说 你要实现什么样的http客户端,这个客户端对http协议实现的好坏,实现了多少,支持哪些细节都是你自己决定的。 比如说android上 最有名的okhttp 就是一个http客户端的实现。

既然是自己实现,那就有说法了,虽然你系统设置了代理,但是我完全可以不使用你的代理(或者说我压根就没实现http协议中 proxy的部分)。 这样自然就会像大厂中的某些app一样, 你虽然设置了代理 但是你还是无法抓包。

因为人家http协议的客户端** 压根就没有使用你系统设置的 代理**。

看源码

想明白这个,我们再带着目的 去看源码 就很简单了。

首先okhttp 是肯定有实现http代理的部分的,否则我们每天也不可能使用代理 愉快的进行抓包。 那么既然有大厂的app 抓不到,那么肯定是某些属性 动态设置了。

注意看下面的代码:

如果我这样设置了,你就会发现 你的app的接口 也会抓不到了。

继续看源码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值