On Fri, 2022-02-18 at 14:16 +0000, Jhonny Knaak de Vargas wrote: > Thanks for your answer Oleg. > How do I force it to send the user/pass? >
Please see the example https://hc.apache.org/httpcomponents-client-4.5.x/examples.html https://github.com/apache/httpcomponents-client/blob/4.5.x/httpclient/src/examples/org/apache/http/examples/client/ClientPreemptiveBasicAuthentication.java Your code looks OK to me. Oleg > About the auth state caching. > I am not sure if I am doing this correctly, please correct me if I am > wrong. > > var credsProvider = new BasicCredentialsProvider(); > credsProvider.setCredentials(new AuthScope("127.0.0.1", 8080), > new UsernamePasswordCredentials("foo", "bar")); > > //Create the target and proxy hosts > HttpHost targetHost = new HttpHost("https://www.google.com", 443, > "https"); > HttpHost proxyHost = new HttpHost("127.0.0.1", 8080, "http"); > > var httpclient = HttpClients.custom() > .setProxy(proxyHost) > .setProxyAuthenticationStrategy(?? ) > .build(); > > var authCache = new BasicAuthCache(); > var basicAuth = new BasicScheme(); > authCache.put(proxyHost, basicAuth); > > var localContext = HttpClientContext.create(); > localContext.setAuthCache(authCache); > localContext.setCredentialsProvider(credsProvider); > > //Setting the proxy > var config = RequestConfig.custom().setProxy(proxyHost).build(); > > //Create the HttpGet request object > var httpGet = new HttpGet("/"); > > //Setting the config to the request > httpGet.setConfig(config); > > //Printing the status line > var response = httpclient.execute(targetHost, httpGet, localContext); > > var result = response.getStatusLine(); > > > > > On Thu, 17 Feb 2022 at 19:11, Oleg Kalnichevski <ol...@apache.org> > wrote: > > > On Thu, 2022-02-17 at 15:21 +0000, Jhonny Knaak de Vargas wrote: > > > Just sending this email again because I was not subscribed the > > > first > > > time I sent. > > > Not sure if this has any kind of impact. > > > > > > > Begin forwarded message: > > > > > > > > From: Jhonny Knaak de Vargas <jho...@evervault.com> > > > > Subject: Proxy authorization not being sent. > > > > Date: 17 February 2022 at 15:13:53 GMT > > > > To: httpclient-users@hc.apache.org > > > > > > > > I was not able to send the proxy user and password to the proxy > > > > using the code at the bottom of this email. > > > > I got some questions, > > > > > > > > Does the library send a first connection without a user/pass > > > > attempting to get back a PROXY-AUTHENTICATE BASIC for example? > > > > > > > > HttpClient does not use preemptive authentication by default (which > > is > > by design). It have got to force it to do. > > > > It is however recommended to use auth state caching instead. > > > > > > > > Is there any difference between setting the proxy at the > > > > HttpClient > > > > level from the one available at the RequestConfig? > > > > > > > > No, there is not. > > > > Oleg > > > > > > Thanks. > > > > Jhonny > > > > > > > > > > > > code used: > > > > > > > > var credsProvider = new BasicCredentialsProvider(); > > > > > > > > credsProvider.setCredentials(new AuthScope("localhost", 8080), > > > > new UsernamePasswordCredentials("someUser", > > > > "somePass")); > > > > > > > > var proxyHost = new HttpHost("localhost", 8080, "http"); > > > > > > > > var httpclient = > > > > HttpClients.custom().setDefaultCredentialsProvider(credsProvide > > > > r) > > > > .setSSLContext(new > > > > SSLContextBuilder().loadTrustMaterial(null, > > > > TrustAllStrategy.INSTANCE).build()) > > > > .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) > > > > //.setProxy(proxyHost) > > > > .build(); > > > > > > > > //Create the target and proxy hosts > > > > var targetHost = new HttpHost("enssc1aqsjv0g.x.pipedream.net < > > > > http://enssc1aqsjv0g.x.pipedream.net/>;;", 443, "https"); > > > > > > > > //Setting the proxy > > > > var config = > > > > RequestConfig.custom().setProxy(proxyHost).build(); > > > > > > > > //Create the HttpGet request object > > > > var httpget = new HttpGet("/"); > > > > > > > > //Setting the config to the request > > > > httpget.setConfig(config); > > > > > > > > //Printing the status line > > > > var response = httpclient.execute(targetHost, httpget); > > > > > > > > var result = response.getStatusLine(); > > > > > > > > assertNotNull(result); > > > > ----------------------------------------------------------------- > > ---- > > To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org > > For additional commands, e-mail: > > httpclient-users-h...@hc.apache.org > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org