对于我的项目,我必须使用第三方Java库,它向一个众所周知的服务器发出一些HTTP请求。我需要在这些请求中添加自己的标题,并想知道如何实现它?
HttpRequestInterceptor似乎就是答案,但是如何在全局范围内“注册”这个,以便第三方库可以使用它?是否可能使用反射?
我不想使用代理应用。只是我的应用程序应该拦截并修改第三方库的HTTP请求。
感谢您的帮助, 迈克尔
答案 0 :(得分:0)
我需要在这些请求中添加自己的标题,并想知道如何实现它?
请勿使用第三方Java库,并自行发出HTTP请求。或者,不再需要自定义标头,因此您可以毫无问题地使用现有的第三方Java库。
HttpRequestInterceptor似乎就是答案,但是如何在全局范围内“注册”这个,以便第三方库可以使用它?
没有这样的全局拦截器,无论如何,库很可能没有使用HttpClient - “拦截器”是一个HttpClient概念。
是否可能使用反射?
您将不得不询问身份不明的第三方Java库的作者。
答案 1 :(得分:0)
创建自定义URLStreamHandlerFactory和URLStreamHandler,并通过调用URL.setURLStreamHandlerFactory(this)从应用程序onCreate()设置它,它将允许您在将标头传递给服务器之前拦截和更改标头。