Android 什么是安卓&x27;iOS SDK中的NSURL协议是否等效?

Android 什么是安卓&x27;iOS SDK中的NSURL协议是否等效?,android,apache-httpcomponents,Android,Apache Httpcomponents,我正在开发一个Android应用程序,它利用了第三方jar。我希望监视并可能修改该库发出的HTTP请求。在iOS下,我可以注册一个定制的NSURLProtocol类,该类可以检查和操作应用程序进程中发生的任何网络请求 Android有类似的功能吗?我承认,我对Android开发还不熟悉,但一直无法找到解决这个问题的有效方法 我没有这个jar的源代码,也不能依赖于反编译 我已经探索了几件事: Android ContentProvider。不起作用,因为解决方案必须支持“http://”请求,而

我正在开发一个Android应用程序,它利用了第三方jar。我希望监视并可能修改该库发出的HTTP请求。在iOS下,我可以注册一个定制的
NSURLProtocol
类,该类可以检查和操作应用程序进程中发生的任何网络请求

Android有类似的功能吗?我承认,我对Android开发还不熟悉,但一直无法找到解决这个问题的有效方法

我没有这个jar的源代码,也不能依赖于反编译

我已经探索了几件事:

  • Android ContentProvider。不起作用,因为解决方案必须支持“http://”请求,而不是“content://”请求
  • 创建一个自定义的
    org.apache.http.impl.client.DefaultHTTPClient
    类。
    (这是用于我所关注的请求的底层网络类)似乎不起作用,因为Android缓存了该类的系统版本,并且总是加载该类而不是我的,即使它在加载顺序中设置得更高
我已经很好地浏览了ApacheHTTP库,虽然它有各种各样的类,比如
HttpRequestInterceptor
HttpResponseInterceptor
类,但这对我没有多大好处,因为库实例化了一个
DefaultHTTPClient
实例,并将其分配给我无权访问的私有方法中的私有成员


我在这里的最终目标是为了单元测试目的监视和更改这些请求。我不想发出真正的请求;我想提供一个模拟响应。

不幸的是,你运气不好:Android应用程序没有类似的应用程序范围的拦截框架


我的建议是设置一个代理,拦截请求并提供模拟响应。

你能解释一下如何在android中设置应用程序范围的代理吗