设置应用级代理

时间:2018-06-25 06:18:13

标签: android proxy sdk

我正在尝试创建某种SDK,无论我们使用的是哪个HTTP客户端(本机HttpURLConnection,OkHttp,Retrofit等),我们都会拦截来自我应用的每个请求。并包括来自Firebase Analytics等第三方库的流量。

我需要拦截并检查几个参数,然后决定是允许还是阻止当前请求。

我不想使用任何自定义VPN,因为它有一些副作用,例如显示系统级通知和来自用户设备的所有流量。

是否可以通过设置app level代理来捕获所有请求? 如果可能,如何用代码实现?

2 个答案:

答案 0 :(得分:4)

您可以使用翻新 改造将节省您的开发时间,并且您还可以使代码对开发人员友好。改造已经提供了几乎所有的API来进行服务器调用和接收响应。在内部,他们还使用GSON进行解析。您可以浏览此link,您将获得更多信息。您还可以看到difference和其他库

答案 1 :(得分:2)

您可以尝试使用https://developer.android.com/reference/android/net/VpnService实施自定义VPN。有了它,您应该能够控制允许哪些流量访问互联网,哪些不允许。如您所写,您将创建一个SDK,实现者应该了解VPN在应用程序中的副作用(正在进行的系统通知,每个流量都通过该VPN进行路由等)