Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache HttpClient在每个请求上自定义动态头_Java_Apache Httpclient 4.x - Fatal编程技术网

Java Apache 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

我正在使用Apache的HttpClient为受保护的api服务编写java客户端。我想知道是否有可能自动向每个请求添加动态头,而不必在每个HttpGet或HttpPost实例上添加头。标头需要获取请求URL和请求方法(GET或POST),因为这个要求,在构建HttpClient时,我不能简单地将其添加到默认的请求标头中。感谢使用自定义请求拦截器

    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();

到目前为止你都试了些什么?你能邮寄吗?