我使用apache常见httpclient 4.3.3来提出http 1.0请求。这里是我提出请求如何禁用来自Apache httpclient 4的默认请求标头?
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
post.setProtocolVersion(new ProtocolVersion("HTTP", 1, 0));
// trying to remove default headers but it doesn't work
post.removeHeaders("User-Agent");
post.removeHeaders("Accept-Encoding");
post.removeHeaders("Connection");
post.setEntity(new ByteArrayEntity(ba));
HttpResponse response = client.execute(post);
不过,我可以看到,有自动添加到我的请求到服务器一样
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.3.3 (java 1.5)
Accept-Encoding: gzip,deflate
其他头我怎么能告诉HttpClient的不包括任何其他头?我试图用post.removeHeaders(xxxx)删除这些头,但它不起作用。你能告诉我如何?
感谢,
我看不到方法removeRequestInterceptorByClass(xxxx)为HttpClient。我可以在哪里设置该方法? –
https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/impl/client/AbstractHttpClient.html#removeRequestInterceptorByClass(java.lang.Class)但是我看到了整个API已弃用4.3 4.3 – Stephan