Java Apache HttpClient在每个请求上自定义动态头
我正在使用Apache的HttpClient为受保护的api服务编写java客户端。我想知道是否有可能自动向每个请求添加动态头,而不必在每个HttpGet或HttpPost实例上添加头。标头需要获取请求URL和请求方法(GET或POST),因为这个要求,在构建HttpClient时,我不能简单地将其添加到默认的请求标头中。感谢使用自定义请求拦截器Java Apache HttpClient在每个请求上自定义动态头,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,我正在使用Apache的HttpClient为受保护的api服务编写java客户端。我想知道是否有可能自动向每个请求添加动态头,而不必在每个HttpGet或HttpPost实例上添加头。标头需要获取请求URL和请求方法(GET或POST),因为这个要求,在构建HttpClient时,我不能简单地将其添加到默认的请求标头中。感谢使用自定义请求拦截器 CloseableHttpClient client = CachingHttpClients.custom() .a
CloseableHttpClient client = CachingHttpClients.custom()
.addInterceptorLast((HttpRequestInterceptor) (request, context) -> {
String method = request.getRequestLine().getMethod();
String requestUri = request.getRequestLine().getUri();
request.addHeader("x-my-header", doSomethingClever(method, requestUri));
})
.build();
到目前为止你都试了些什么?你能邮寄吗?