我正在开发一个使用第三方jar的Android应用程序.我想监视并可能修改该库发出的HTTP请求.在iOS下,我可以通过注册一个自定义NSURLProtocol类来实现这一点,该类可以检查和操作应用程序进程中发生的任何网络请求.
Android有什么相似之处吗?我承认,我是Android开发的新手,但一直无法找到解决这个问题的工作方案.
我没有这个jar的来源,我不能依赖反编译它.
我探讨了几件事:
org.apache.http.impl.client.DefaultHTTPClient类.(这是用于我之后的请求的底层网络类.)似乎这不起作用,因为Android已经缓存了这个类的系统版本并且总是加载而不是我的,即使它设置得更高加载顺序.我看过了Apache的HTTP库相当不错,虽然它有各种各样的事情一样HttpRequestInterceptor,HttpResponseInterceptor阶级,这并不对我没啥用,因为库实例化一个DefaultHTTPClient实例,并将它的私有方法中分配给私有成员我没有权限.
我的最终目标是监控和更改这些单元测试请求.我不希望发出真实的请求; 我想提供模拟回复.