I tried this but fails CloseableHttpClient client = HttpClientBuilder.create().addInterceptorLast( new HttpRequestInterceptor() { @Override public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { final String PROXY_CONN_DIRECTIVE = "Proxy-Connection"; Args.notNull(request, "HTTP request");
final String method = request.getRequestLine().getMethod(); if (method.equalsIgnoreCase("CONNECT")) { request.setHeader(PROXY_CONN_DIRECTIVE, org.apache.http.protocol.HTTP.CONN_KEEP_ALIVE); request.setHeader("X-Forwarded-For", "10.52.106.89"); return; } } } ) .setConnectionManager(connectionManager) .setRedirectStrategy(new LaxRedirectStrategy()) // //.setDefaultHeaders(defaultHeaders) // //.setRoutePlanner(routePlanner) .build(); What do you thinks ? Omar Khateeb | QA Engineer, IDA & DLP Check Point Software Technologies | | om...@checkpoint.com -----Original Message----- From: Omar Alkhateeb [mailto:om...@checkpoint.com] Sent: Thursday, January 10, 2019 3:16 PM To: HttpComponents Project Subject: RE: Http CONNECT Method with XFF Header I found this class, but can't edit because it is .class binary file public class RequestClientConnControl implements HttpRequestInterceptor { private final Log log = LogFactory.getLog(getClass()); private static final String PROXY_CONN_DIRECTIVE = "Proxy-Connection"; public RequestClientConnControl() { super(); } public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { Args.notNull(request, "HTTP request"); final String method = request.getRequestLine().getMethod(); if (method.equalsIgnoreCase("CONNECT")) { request.setHeader(PROXY_CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE); return; } Omar Khateeb | QA Engineer, IDA & DLP Check Point Software Technologies | | om...@checkpoint.com -----Original Message----- From: Omar Alkhateeb [mailto:om...@checkpoint.com] Sent: Thursday, January 10, 2019 3:15 PM To: HttpComponents Project Subject: RE: Http CONNECT Method with XFF Header Hi Oleg, Thanks for the response, Can you show me example of the steps you guided me, I can't find a way Omar Khateeb | QA Engineer, IDA & DLP Check Point Software Technologies | | om...@checkpoint.com -----Original Message----- From: Oleg Kalnichevski [mailto:ol...@apache.org] Sent: Wednesday, January 09, 2019 6:38 PM To: HttpComponents Project Subject: Re: Http CONNECT Method with XFF Header On Wed, 2019-01-09 at 14:54 +0000, Omar Alkhateeb wrote: > Hi All, > > As I noticed, there is no Class for HttpConnect method > > I need to add specific Http Header on CONNECT which is called X-For- > Forward > > I can successfully add XFF Header on HttpGet Request using : > > HttpClientContext context = HttpClientContext.create(); > HttpGet httpget = new HttpGet(URL); > RequestConfig requestConfig = > RequestConfig.copy(defaultRequestConfig) > .setProxy(new HttpHost(Proxy, Port)) > .build(); > httpget.setConfig(requestConfig); > httpget.setHeader("X-Forwarded-For", XFFHeader); > httpget.setHeader(new BasicHeader("Prama", "no-cache")); > httpget.setHeader(new BasicHeader("Cache-Control", "no-cache")); > httpget.setHeader("X-Requested-With", "XMLHttpRequest"); > httpget.setHeader(HttpHeaders.USER_AGENT,"Mozilla/5.0 (Windows NT > 10.0; Win64; x64) " > + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 > Safari/537.36 Chrome/69.0.3497.100 " > + "Apache-HttpClient/4.5.3 (Java/1.8.0_141)"); > > Is there a way to Add the same Header to CONNECT method ? > It will not be pretty with HttpClient 4.5 but it can be done. 1. Subclass HttpClientBuilder 2. override #createMainExec method https://github.com/apache/httpcomponents-client/blob/4.5.x/httpclient/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java#L889 3. Hijack proxyHttpProcessor Hope this helps Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org Email secured by Check Point B�KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKCB��[��X��ܚX�KK[XZ[ �]�][��X��ܚX�P˘\X�K�ܙ�B��܈Y][ۘ[��[X[��K[XZ[ �]�Z[˘\X�K�ܙ�B�