作为一名数据采集工程师,现在在研究如何防止别人采集我们的数据。当然这就是一个博弈,在博弈的过程中大家都能得到技术上的进步。
今天写的文章是如何让app不走系统代理
效果图
流程分析
- 当点击按钮的时候,使用okhttp发起了一个百度的请求。
- 将获得的内容通过Toast弹出。
- 同时在观察fiddler是否抓取到了请求。
原理分析
- 在网络请求的时候,通过OkHttp可以设置一个选项,代理的类型。我们在这里直接设置成Proxy.NO_PROXY。这样话即使android设置了代理,我们的app也不会走代理。
- 如果我们把proxy选项注释掉,看下效果。
- 效果显而易见呀。很多网络请求类库应该都会有代理的选项,大家可以试下其他的。
源码
public void run() {
Looper.prepare();
OkHttpClient okHttpClient = new OkHttpClient.Builder().
proxy(Proxy.NO_PROXY).
build