我使用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