如何拦截Android上第三方库发出的HTTP请求?

时间:2011-09-21 07:56:01

标签: java android

对于我的项目,我必须使用第三方Java库,它向一个众所周知的服务器发出一些HTTP请求。我需要在这些请求中添加自己的标题,并想知道如何实现它?

HttpRequestInterceptor似乎就是答案,但是如何在全局范围内“注册”这个,以便第三方库可以使用它?是否可能使用反射?

我不想使用代理应用。只是我的应用程序应该拦截并修改第三方库的HTTP请求。

感谢您的帮助, 迈克尔

2 个答案:

答案 0 :(得分:0)

  

我需要在这些请求中添加自己的标题,并想知道如何实现它?

请勿使用第三方Java库,并自行发出HTTP请求。或者,不再需要自定义标头,因此您可以毫无问题地使用现有的第三方Java库。

  

HttpRequestInterceptor似乎就是答案,但是如何在全局范围内“注册”这个,以便第三方库可以使用它?

没有这样的全局拦截器,无论如何,库很可能没有使用HttpClient - “拦截器”是一个HttpClient概念。

  

是否可能使用反射?

您将不得不询问身份不明的第三方Java库的作者。

答案 1 :(得分:0)

创建自定义URLStreamHandlerFactory和URLStreamHandler,并通过调用URL.setURLStreamHandlerFactory(this)从应用程序onCreate()设置它,它将允许您在将标头传递给服务器之前拦截和更改标头。