2016-08-11 60 views
1

我看到一些SO帖子(有些是新的和一些舊的)與此相關,並且找不到相關答案。是否有可能攔截來自第三方庫的HTTP調用,並在應用程序中阻止它們?基本上我想確保在我的應用程序中使用HTTP通話。由於我使用的是第三方庫,因此我想將其分析爲所有HTTP調用,然後列出第三方庫進行的不必要調用。我知道第三方庫正在進行HTTP調用來處理它的功能。我想阻止它從我的應用程序發送任何數據。我知道我可以使用像Charles這樣的HTTP調試代理應用程序來了解通過我的應用程序進行的調用,然後決定是否使用該庫。但我想通過僅阻止一些不必要的呼叫來使用該庫。Android:攔截網絡電話(HTTP,HTTPS等..)源自我的應用程序內的第三方庫

+1

不是。使用Android 7.0的網絡安全配置,您可能可以一起破解一些東西,將自己的域名列入白名單(使用適當的SSL規則),並說其他所有內容不允許系統證書或明文流量(這可能會破壞這些庫)。即使這樣也不適用於本地代碼,WebView,也可能是一些低級的Java套接字工作。 – CommonsWare

+0

謝謝!指向我的網絡安全配置。 –

回答

0

創建自定義的URLStreamHandlerFactory和URLStreamHandler,並通過調用URL.setURLStreamHandlerFactory(this)從應用程序onCreate()中設置它,它將允許捕獲/阻止甚至由第三方庫生成的所有網絡流量。