[prev in list] [next in list] [prev in thread] [next in thread] 

List:       httpclient-commons-dev
Subject:    [jira] [Updated] (HTTPCLIENT-1897) httpclient-osgi-4.5.3 and 4.5.4 do not work with proxy with NTLM 
From:       "Zhimin(Jeremy) Lin (JIRA)" <jira () apache ! org>
Date:       2018-01-25 17:32:00
Message-ID: JIRA.13132852.1516652276000.38873.1516901520148 () Atlassian ! JIRA
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Zhimin(Jeremy) Lin updated HTTPCLIENT-1897:
-------------------------------------------
    Description: 
We used httpclient-osgi-xxx.jar on prosyst OSGi framework.

When httpclient connects thru proxy with NTML auth, using httpclient-osgi-4.5.3 \
(([http://central.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.3/httpclient-osgi-4.5.3.jar)] \
) or httpclient-osgi-4.5.4 \
([http://central.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.4/httpclient-osgi-4.5.4.jar)] \
failed, but httpclient-osgi-5.4.2 succeeded.

The proxy has both NTLM and Basic authentication supports, while the httpclient has \
only Basic authentication supports.

In httpclient-osgi auto negotiate to use NTLM or Basic for authentication. In 4.5.3 \
and 4.5.4, when NTLM failes, client does not failover to use Basic, while in 4.5.2, \
when NTLM fails, it automatically failover to use Basic. See the logs below.

  

Errors when using httpclient-osgi-4.5.3.jar:

================================

.....
 2018-01-11 16:52:55,114[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|49-org.apache.httpcomponents.httpclient-4.5.3|Connection \
request: [route: \\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 1]  2018-01-11 \
16:52:55,129[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnect \
ionManager|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Connection \
leased: [id: 0][route: \
\\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443]{color}[total \
kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 1]  2018-01-11 \
16:52:55,132[pool-2-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|49-org.apache.httpcomponents.httpclient-4.5.3|Opening \
connection \{tls}->[http://webgateway.xx.xxxxxx.com:3128-]>[https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443|https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx/]
  2018-01-11 16:52:55,146[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttp \
ClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connecting to \
webgateway.xx.xxxxxx.com/xx.xx.x.xxx:3128  2018-01-11 \
16:52:55,155[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connection \
established xx.xxx.xxx.xxx:42038<->xx.xx.x.xxx:3128  2018-01-11 \
16:52:55,167[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1  2018-01-11 \
> > 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
 2018-01-11 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)  2018-01-11 \
> > 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"
 2018-01-11 16:52:55,169[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"  2018-01-11 \
> > 16:52:55,169[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)[\r][\n]"
 2018-01-11 16:52:55,170[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "[\r][\n]"  2018-01-11 \
> > 16:52:55,190[ResourcePublisher]|INFO|org.glassfish.jersey.server.ApplicationHandler|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Initiating \
> > Jersey application, version Jersey: 2.22.2 2016-02-16 13:32:17...
 2018-01-11 16:52:55,239[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "HTTP/1.1 407 authenticationrequired[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Date: Thu, 11 Jan 2018 16:52:54 GMT[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Type: text/html[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Cache-Control: no-cache[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Length: 5639[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Connection: Keep-Alive[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Authenticate: NTLM[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Authenticate: Basic realm="McAfee Web Gateway"[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "[\r][\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" \
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[\n]"  2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "<html>[\n]"  2018-01-11 \
16:52:55,241[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
                << "<!-- FileName: index.html[\n]"
 .......................
 2018-01-11 16:52:55,347[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "<!--/Body-->[\n]"  2018-01-11 \
16:52:55,347[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "</html>"  2018-01-11 \
16:52:55,349[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< HTTP/1.1 407 authenticationrequired  2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Date: Thu, 11 Jan 2018 16:52:54 GMT  2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Type: text/html  2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Cache-Control: no-cache  2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Length: 5639  2018-01-11 \
16:52:55,352[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Connection: Keep-Alive  2018-01-11 \
16:52:55,353[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Authenticate: NTLM  2018-01-11 \
16:52:55,354[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Authenticate: Basic realm="McAfee Web Gateway"  2018-01-11 \
16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authentication \
required  2018-01-11 \
16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|webgateway.xx.xxxxxx.com:3128 \
requested authentication  2018-01-11 \
16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStr \
ategy|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Authentication \
schemes in the order of preference: [Negotiate, Kerberos, NTLM, Digest, Basic]{color} \
2018-01-11 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
for Negotiate authentication scheme not available  2018-01-11 \
16:52:55,360[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
for Kerberos authentication scheme not available  2018-01-11 \
16:52:55,379[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
for Digest authentication scheme not available  2018-01-11 \
16:52:55,382[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Selected \
authentication options: [NTLM, BASIC [complete=true]]{color}  2018-01-11 \
16:52:55,382[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultManagedHttpClientConnection|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0: \
Close connection  2018-01-11 \
16:52:55,383[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connecting \
to webgateway.xx.xxxxxx.com/xx.xx.x.xxx:3128  2018-01-11 \
16:52:55,389[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnect \
ionOperator|49-org.apache.httpcomponents.httpclient-4.5.3{color:#ff0000}|Connection \
established xx.xxx.xxx.xxx:42040<->xx.xx.x.xxx:3128{color}  2018-01-11 \
16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Generating \
response to an authentication challenge using ntlm scheme{color}  2018-01-11 \
16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1  2018-01-11 \
> > 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
 2018-01-11 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)  2018-01-11 \
> > 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|http-outgoing-0 \
> > >> Proxy-Authorization: NTLM \
> > > > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}
 2018-01-11 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"  2018-01-11 \
> > 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"
 2018-01-11 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)[\r][\n]"  2018-01-11 \
> > 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "Proxy-Authorization: NTLM \
> > > > {color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}[\r][\n]"
> > > > 
 2018-01-11 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "[\r][\n]"  2018-01-11 \
> > 16:52:55,396[ResourcePublisher]|INFO|org.glassfish.jersey.process.internal.ExecutorProviders|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Selected \
> > ExecutorServiceProvider implementation \
> > [org.glassfish.jersey.server.internal.process.ServerProcessingBinder$DefaultManagedAsyncExecutorProvider] \
> > to be used for injection of executor qualified by \
> > [org.glassfish.jersey.server.ManagedAsyncExecutor] annotation.
 2018-01-11 16:52:55,397[ResourcePublisher]|INFO|org.glassfish.jersey.process.internal.ExecutorProviders|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Selected \
ScheduledExecutorServiceProvider implementation \
[org.glassfish.jersey.server.internal.process.ServerProcessingBinder$DefaultBackgroundSchedulerProvider] \
to be used for injection of scheduler qualified by \
[org.glassfish.jersey.server.BackgroundScheduler] annotation.  2018-01-11 \
16:52:55,399[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "HTTP/1.1 407 authenticationrequired[\r][\n]"  2018-01-11 \
16:52:55,401[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Date: Thu, 11 Jan 2018 16:52:55 GMT[\r][\n]"  2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Type: text/html[\r][\n]"  2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Cache-Control: no-cache[\r][\n]"  2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Length: 0[\r][\n]"  2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Connection: Keep-Alive[\r][\n]"  2018-01-11 \
16:52:55,404[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Authenticate: NTLM \
{color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}[\r][\n]"
  2018-01-11 16:52:55,406[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "[\r][\n]"  2018-01-11 \
16:52:55,409[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|http-outgoing-0 \
<< HTTP/1.1 407 authenticationrequired{color}  2018-01-11 \
16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Date: Thu, 11 Jan 2018 16:52:55 GMT  2018-01-11 \
16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Type: text/html  2018-01-11 \
16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Cache-Control: no-cache  2018-01-11 \
16:52:55,415[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Length: 0  2018-01-11 \
16:52:55,415[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Connection: Keep-Alive  2018-01-11 \
16:52:55,416[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Authenticate: NTLM \
{color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}  \
2018-01-11 16:52:55,417[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authentication \
required  2018-01-11 \
16:52:55,417[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org \
.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|webgateway.xx.xxxxxx.com3128 \
requested authentication{color}  2018-01-11 \
16:52:55,422[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authorization \
challenge processed  2018-01-11 \
16:52:55,422[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultManagedHttpClientConnection|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0: \
                Close connection
 .....

  

  

Logs when using   httpclient-osgi-4.5.2.jar:

===============================

.........

2018-01-11 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
request: [route: \\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
kept alive: 0; route allocated: 0 of 10; total allocated: 0 of 20]  2018-01-11 \
17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
leased: [id: 1][route: \
\\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
kept alive: 0; route allocated: 1 of 10; total allocated: 1 of 20]  2018-01-11 \
17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-org.apache.httpcomponents.httpclient-4.5.2|Opening \
connection \{tls}->[http://webgateway.xx.xxxxxx.com:3128-]>[https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443|https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx/]
  2018-01-11 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttp \
ClientConnectionOperator|51-org.apache.httpcomponents.httpclient-4.5.2|Connecting to \
webgateway.xx.xxxxxx.com/10.23.2.50:3128  2018-01-11 \
17:06:44,298[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
established 10.252.251.122:41078<->10.23.2.50:3128  2018-01-11 \
17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1  2018-01-11 \
> > 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
 2018-01-11 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)  2018-01-11 \
> > 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"
 2018-01-11 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"  2018-01-11 \
> > 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)[\r][\n]"
 2018-01-11 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "[\r][\n]"  2018-01-11 \
> > 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > << "HTTP/1.1 407 authenticationrequired[\r][\n]"
 2018-01-11 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Date: Thu, 11 Jan 2018 17:06:43 GMT[\r][\n]"  2018-01-11 \
17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Content-Type: text/html[\r][\n]"  2018-01-11 \
17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Cache-Control: no-cache[\r][\n]"  2018-01-11 \
17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Content-Length: 5651[\r][\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Proxy-Connection: Keep-Alive[\r][\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Proxy-Authenticate: NTLM[\r][\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Proxy-Authenticate: Basic realm="McAfee Web Gateway"[\r][\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "[\r][\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" \
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "<html>[\n]"  2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
                << "<!-- FileName: index.html[\n]"
 ...............................
 2018-01-11 17:06:44,325[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< Proxy-Connection: Keep-Alive  2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< Proxy-Authenticate: NTLM  2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< Proxy-Authenticate: Basic realm="McAfee Web Gateway"  2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|Authentication \
required  2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|webgateway.xx.xxxxxx.com:3128 \
requested authentication  2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStr \
ategy|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Authentication \
schemes in the order of preference: [Negotiate, Kerberos, NTLM, Digest, Basic]{color} \
2018-01-11 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
for Negotiate authentication scheme not available  2018-01-11 \
17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
for Kerberos authentication scheme not available  2018-01-11 \
17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
for Digest authentication scheme not available  2018-01-11 \
17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Selected \
authentication options: [NTLM, BASIC [complete=true]]{color}  2018-01-11 \
17:06:44,330[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
                kept alive
 ...................................
 2018-01-11 17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "<!--/Body-->[\n]"  2018-01-11 \
17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "</html>"  2018-01-11 \
17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Generating \
response to an authentication challenge using ntlm scheme{color}  2018-01-11 \
17:06:44,380[pool-5-thread-1]|WARN|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|NTLM \
authentication error: Credentials cannot be used for NTLM authentication: \
org.apache.http.auth.UsernamePasswordCredentials{color}  2018-01-11 \
17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Generating \
response to an authentication challenge using basic scheme{color}  2018-01-11 \
17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1  2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)  2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|http-outgoing-1 \
> > >> Proxy-Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}
 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"  2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"
 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)[\r][\n]"  2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "Proxy-Authorization: Basic \
> > > > {color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}[\r][\n]"
 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "[\r][\n]"  2018-01-11 \
> > 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > << "HTTP/1.0 200 Connection established[\r][\n]"
 2018-01-11 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "[\r][\n]"  2018-01-11 \
17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|http-outgoing-1 \
<< HTTP/1.0 200 Connection established{color}  2018-01-11 \
17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|Authentication \
succeeded  2018-01-11 \
17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Caching \
'basic' auth scheme for \
[http://webgateway.xx.xxxxxx.com:3128|http://webgateway.xx.xxxxxx.com:3128/]  \
2018-01-11 17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-{color:#ff0000}org.apache.httpcomponents.httpclient-4.5.2|Tunnel \
to target created.{color}

.......

  

  

  

  

  

  

  

  was:
We used httpclient-osgi-xxx.jar on prosyst OSGi framework.

When httpclient connects thru proxy with NTML auth, using httpclient-osgi-4.5.3 \
(([http://central.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.3/httpclient-osgi-4.5.3.jar)] \
) or httpclient-osgi-4.5.4 \
([http://central.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.4/httpclient-osgi-4.5.4.jar)] \
failed, but httpclient-osgi-5.4.2 succeeded.

The proxy has both NTLM and Basic authentication supports, while the httpclient has \
only Basic authentication supports.

In httpclient-osgi auto negotiate to use NTLM or Basic for authentication. In 4.5.3 \
and 4.5.4, when NTLM failes, client does not failover to use Basic, while in 4.5.2, \
when NTLM fails, it automatically failover to use Basic. See the logs below.

  

Errors when using httpclient-osgi-4.5.3.jar:

================================

.....
2018-01-11 16:52:55,114[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|49-org.apache.httpcomponents.httpclient-4.5.3|Connection \
request: [route: \{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 1] 2018-01-11 \
16:52:55,129[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnect \
ionManager|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|Connection \
leased: [id: 0][route: \
\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443]{color}[total \
kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 1] 2018-01-11 \
16:52:55,132[pool-2-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|49-org.apache.httpcomponents.httpclient-4.5.3|Opening \
connection \{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443
 2018-01-11 16:52:55,146[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connecting \
to webgateway.xx.xxxxxx.com/xx.xx.x.xxx:3128 2018-01-11 \
16:52:55,155[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connection \
established xx.xxx.xxx.xxx:42038<->xx.xx.x.xxx:3128 2018-01-11 \
16:52:55,167[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
2018-01-11 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131) 2018-01-11 \
> > 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"
2018-01-11 16:52:55,169[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]" 2018-01-11 \
> > 16:52:55,169[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)[\r][\n]"
2018-01-11 16:52:55,170[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "[\r][\n]" 2018-01-11 \
> > 16:52:55,190[ResourcePublisher]|INFO|org.glassfish.jersey.server.ApplicationHandler|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Initiating \
> > Jersey application, version Jersey: 2.22.2 2016-02-16 13:32:17...
2018-01-11 16:52:55,239[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "HTTP/1.1 407 authenticationrequired[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Date: Thu, 11 Jan 2018 16:52:54 GMT[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Type: text/html[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Cache-Control: no-cache[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Length: 5639[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Connection: Keep-Alive[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Authenticate: NTLM[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Authenticate: Basic realm="McAfee Web Gateway"[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "[\r][\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" \
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[\n]" 2018-01-11 \
16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "<html>[\n]" 2018-01-11 \
16:52:55,241[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
                << "<!-- FileName: index.html[\n]"
.......................
2018-01-11 16:52:55,347[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "<!--/Body-->[\n]" 2018-01-11 \
16:52:55,347[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "</html>" 2018-01-11 \
16:52:55,349[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< HTTP/1.1 407 authenticationrequired 2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Date: Thu, 11 Jan 2018 16:52:54 GMT 2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Type: text/html 2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Cache-Control: no-cache 2018-01-11 \
16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Length: 5639 2018-01-11 \
16:52:55,352[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Connection: Keep-Alive 2018-01-11 \
16:52:55,353[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Authenticate: NTLM 2018-01-11 \
16:52:55,354[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Authenticate: Basic realm="McAfee Web Gateway" 2018-01-11 \
16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authentication \
required 2018-01-11 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.Http \
Authenticator|49-org.apache.httpcomponents.httpclient-4.5.3|webgateway.xx.xxxxxx.com:3128 \
requested authentication 2018-01-11 \
16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStr \
ategy|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|Authentication \
schemes in the order of preference: [Negotiate, Kerberos, NTLM, Digest, Basic]{color} \
2018-01-11 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
for Negotiate authentication scheme not available 2018-01-11 \
16:52:55,360[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
for Kerberos authentication scheme not available 2018-01-11 \
16:52:55,379[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
for Digest authentication scheme not available 2018-01-11 \
16:52:55,382[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|Selected \
authentication options: [NTLM, BASIC [complete=true]]{color} 2018-01-11 \
16:52:55,382[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultManagedHttpClientConnection|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0: \
Close connection 2018-01-11 \
16:52:55,383[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connecting \
to webgateway.xx.xxxxxx.com/xx.xx.x.xxx:3128 2018-01-11 \
16:52:55,389[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnect \
ionOperator|49-org.apache.httpcomponents.httpclient-4.5.3{color:#FF0000}|Connection \
established xx.xxx.xxx.xxx:42040<->xx.xx.x.xxx:3128{color} 2018-01-11 \
16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|Generating \
response to an authentication challenge using ntlm scheme{color} 2018-01-11 \
16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
2018-01-11 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131) 2018-01-11 \
> > 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|http-outgoing-0 \
> > >> Proxy-Authorization: NTLM \
> > > > TlRMTVNTUAABAAAAAYIIogAAAAAoAAAAAAAAACgAAAAFASgKAAAADw=={color}
2018-01-11 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]" 2018-01-11 \
> > 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"
2018-01-11 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)[\r][\n]" 2018-01-11 \
> > 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > >> "Proxy-Authorization: NTLM \
> > > > TlRMTVNTUAABAAAAAYIIogAAAAAoAAAAAAAAACgAAAAFASgKAAAADw==[\r][\n]"
2018-01-11 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>> "[\r][\n]" 2018-01-11 \
> > 16:52:55,396[ResourcePublisher]|INFO|org.glassfish.jersey.process.internal.ExecutorProviders|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Selected \
> > ExecutorServiceProvider implementation \
> > [org.glassfish.jersey.server.internal.process.ServerProcessingBinder$DefaultManagedAsyncExecutorProvider] \
> > to be used for injection of executor qualified by \
> > [org.glassfish.jersey.server.ManagedAsyncExecutor] annotation.
2018-01-11 16:52:55,397[ResourcePublisher]|INFO|org.glassfish.jersey.process.internal.ExecutorProviders|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Selected \
ScheduledExecutorServiceProvider implementation \
[org.glassfish.jersey.server.internal.process.ServerProcessingBinder$DefaultBackgroundSchedulerProvider] \
to be used for injection of scheduler qualified by \
[org.glassfish.jersey.server.BackgroundScheduler] annotation. 2018-01-11 \
16:52:55,399[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "HTTP/1.1 407 authenticationrequired[\r][\n]" 2018-01-11 \
16:52:55,401[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Date: Thu, 11 Jan 2018 16:52:55 GMT[\r][\n]" 2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Type: text/html[\r][\n]" 2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Cache-Control: no-cache[\r][\n]" 2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Content-Length: 0[\r][\n]" 2018-01-11 \
16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Connection: Keep-Alive[\r][\n]" 2018-01-11 \
16:52:55,404[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "Proxy-Authenticate: NTLM \
TlRMTVNTUAACAAAAAAAAAAAAAAAFgomgR5vRg7pkkowAAAAAAAAAAAAAAAAAAAAA[\r][\n]" 2018-01-11 \
16:52:55,406[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< "[\r][\n]" 2018-01-11 \
16:52:55,409[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|http-outgoing-0 \
<< HTTP/1.1 407 authenticationrequired{color} 2018-01-11 \
16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Date: Thu, 11 Jan 2018 16:52:55 GMT 2018-01-11 \
16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Type: text/html 2018-01-11 \
16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Cache-Control: no-cache 2018-01-11 \
16:52:55,415[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Content-Length: 0 2018-01-11 \
16:52:55,415[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Connection: Keep-Alive 2018-01-11 \
16:52:55,416[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
<< Proxy-Authenticate: NTLM \
TlRMTVNTUAACAAAAAAAAAAAAAAAFgomgR5vRg7pkkowAAAAAAAAAAAAAAAAAAAAA 2018-01-11 \
16:52:55,417[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authentication \
required 2018-01-11 16:52:55,417[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.Http \
Authenticator|49-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.3|webgateway.xx.xxxxxx.com3128 \
requested authentication{color} 2018-01-11 \
16:52:55,422[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authorization \
challenge processed 2018-01-11 \
16:52:55,422[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultManagedHttpClientConnection|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0: \
                Close connection
.....

  

  

Logs when using   httpclient-osgi-4.5.2.jar:

===============================

.........

2018-01-11 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
request: [route: \{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
kept alive: 0; route allocated: 0 of 10; total allocated: 0 of 20] 2018-01-11 \
17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
leased: [id: 1][route: \
\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
kept alive: 0; route allocated: 1 of 10; total allocated: 1 of 20] 2018-01-11 \
17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-org.apache.httpcomponents.httpclient-4.5.2|Opening \
connection \{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443
 2018-01-11 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|51-org.apache.httpcomponents.httpclient-4.5.2|Connecting \
to webgateway.xx.xxxxxx.com/10.23.2.50:3128 2018-01-11 \
17:06:44,298[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
established 10.252.251.122:41078<->10.23.2.50:3128 2018-01-11 \
17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
2018-01-11 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131) 2018-01-11 \
> > 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"
2018-01-11 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]" 2018-01-11 \
> > 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)[\r][\n]"
2018-01-11 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "[\r][\n]" 2018-01-11 \
> > 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > << "HTTP/1.1 407 authenticationrequired[\r][\n]"
2018-01-11 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Date: Thu, 11 Jan 2018 17:06:43 GMT[\r][\n]" 2018-01-11 \
17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Content-Type: text/html[\r][\n]" 2018-01-11 \
17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Cache-Control: no-cache[\r][\n]" 2018-01-11 \
17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Content-Length: 5651[\r][\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Proxy-Connection: Keep-Alive[\r][\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Proxy-Authenticate: NTLM[\r][\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "Proxy-Authenticate: Basic realm="McAfee Web Gateway"[\r][\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "[\r][\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" \
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "<html>[\n]" 2018-01-11 \
17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
                << "<!-- FileName: index.html[\n]"
...............................
2018-01-11 17:06:44,325[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< Proxy-Connection: Keep-Alive 2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< Proxy-Authenticate: NTLM 2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< Proxy-Authenticate: Basic realm="McAfee Web Gateway" 2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|Authentication \
required 2018-01-11 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.Http \
Authenticator|51-org.apache.httpcomponents.httpclient-4.5.2|webgateway.xx.xxxxxx.com:3128 \
requested authentication 2018-01-11 \
17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStr \
ategy|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|Authentication \
schemes in the order of preference: [Negotiate, Kerberos, NTLM, Digest, Basic]{color} \
2018-01-11 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
for Negotiate authentication scheme not available 2018-01-11 \
17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
for Kerberos authentication scheme not available 2018-01-11 \
17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
for Digest authentication scheme not available 2018-01-11 \
17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|Selected \
authentication options: [NTLM, BASIC [complete=true]]{color} 2018-01-11 \
17:06:44,330[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
                kept alive
...................................
2018-01-11 17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "<!--/Body-->[\n]" 2018-01-11 \
17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "</html>" 2018-01-11 \
17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|Generating \
response to an authentication challenge using ntlm scheme{color} 2018-01-11 \
17:06:44,380[pool-5-thread-1]|WARN|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|NTLM \
authentication error: Credentials cannot be used for NTLM authentication: \
org.apache.http.auth.UsernamePasswordCredentials{color} 2018-01-11 \
17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|Generating \
response to an authentication challenge using basic scheme{color} 2018-01-11 \
17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131) 2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|http-outgoing-1 \
> > >> Proxy-Authorization: Basic aW50c2RiamVua2luczpfSW5zZXJ0X1BhNTV3b3JkXw=={color}
2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]" 2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"
2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)[\r][\n]" 2018-01-11 \
> > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > >> "Proxy-Authorization: Basic \
> > > > aW50c2RiamVua2luczpfSW5zZXJ0X1BhNTV3b3JkXw==[\r][\n]"
2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>> "[\r][\n]" 2018-01-11 \
> > 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > << "HTTP/1.0 200 Connection established[\r][\n]"
2018-01-11 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
<< "[\r][\n]" 2018-01-11 \
17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.{color:#FF0000}httpclient-4.5.2|http-outgoing-1 \
<< HTTP/1.0 200 Connection established{color} 2018-01-11 \
17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|Authentication \
succeeded 2018-01-11 \
17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Caching \
'basic' auth scheme for http://webgateway.xx.xxxxxx.com:3128 2018-01-11 \
17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-{color:#FF0000}org.apache.httpcomponents.httpclient-4.5.2|Tunnel \
to target created.{color}

.......

  

  

  

  

  

  

  


> httpclient-osgi-4.5.3 and 4.5.4 do not work with proxy with NTLM scheme
> -----------------------------------------------------------------------
> 
> Key: HTTPCLIENT-1897
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1897
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient (classic)
> Affects Versions: 4.5.3, 4.5.4
> Environment: Httpclient on linux VM running on Windows or native Linux on bare \
>                 host.
> Proxy: either squid or cooperate proxy, supporting both NTLM and Basic.
> Reporter: Zhimin(Jeremy) Lin
> Priority: Major
> 
> We used httpclient-osgi-xxx.jar on prosyst OSGi framework.
> When httpclient connects thru proxy with NTML auth, using httpclient-osgi-4.5.3 \
> (([http://central.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.3/httpclient-osgi-4.5.3.jar)] \
> ) or httpclient-osgi-4.5.4 \
> ([http://central.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.4/httpclient-osgi-4.5.4.jar)] \
> failed, but httpclient-osgi-5.4.2 succeeded. The proxy has both NTLM and Basic \
> authentication supports, while the httpclient has only Basic authentication \
> supports. In httpclient-osgi auto negotiate to use NTLM or Basic for \
> authentication. In 4.5.3 and 4.5.4, when NTLM failes, client does not failover to \
> use Basic, while in 4.5.2, when NTLM fails, it automatically failover to use Basic. \
> See the logs below. 
> Errors when using httpclient-osgi-4.5.3.jar:
> ================================
> .....
> 2018-01-11 16:52:55,114[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|49-org.apache.httpcomponents.httpclient-4.5.3|Connection \
> request: [route: \\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
> kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 1] 2018-01-11 \
> 16:52:55,129[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConne \
> ctionManager|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Connection \
> leased: [id: 0][route: \
> \\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443]{color}[total \
> kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 1] 2018-01-11 \
> 16:52:55,132[pool-2-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|49-org.apache.httpcomponents.httpclient-4.5.3|Opening \
> connection \{tls}->[http://webgateway.xx.xxxxxx.com:3128-]>[https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443|https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx/]
>  2018-01-11 16:52:55,146[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHtt \
> pClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connecting \
> to webgateway.xx.xxxxxx.com/xx.xx.x.xxx:3128 2018-01-11 \
> 16:52:55,155[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connection \
> established xx.xxx.xxx.xxx:42038<->xx.xx.x.xxx:3128 2018-01-11 \
> 16:52:55,167[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > > 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
> 2018-01-11 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131) 2018-01-11 \
> > > 16:52:55,168[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > > >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"
> 2018-01-11 16:52:55,169[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]" 2018-01-11 \
> > > 16:52:55,169[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > > >> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)[\r][\n]"
> 2018-01-11 16:52:55,170[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> "[\r][\n]" 2018-01-11 \
> > > 16:52:55,190[ResourcePublisher]|INFO|org.glassfish.jersey.server.ApplicationHandler|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Initiating \
> > > Jersey application, version Jersey: 2.22.2 2016-02-16 13:32:17...
> 2018-01-11 16:52:55,239[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "HTTP/1.1 407 authenticationrequired[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Date: Thu, 11 Jan 2018 16:52:54 GMT[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Content-Type: text/html[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Cache-Control: no-cache[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Content-Length: 5639[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Proxy-Connection: Keep-Alive[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Proxy-Authenticate: NTLM[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Proxy-Authenticate: Basic realm="McAfee Web Gateway"[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "[\r][\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" \
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[\n]" 2018-01-11 \
> 16:52:55,240[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "<html>[\n]" 2018-01-11 \
> 16:52:55,241[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
>                 << "<!-- FileName: index.html[\n]"
> .......................
> 2018-01-11 16:52:55,347[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "<!--/Body-->[\n]" 2018-01-11 \
> 16:52:55,347[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "</html>" 2018-01-11 \
> 16:52:55,349[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << HTTP/1.1 407 authenticationrequired 2018-01-11 \
> 16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Date: Thu, 11 Jan 2018 16:52:54 GMT 2018-01-11 \
> 16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Content-Type: text/html 2018-01-11 \
> 16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Cache-Control: no-cache 2018-01-11 \
> 16:52:55,351[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Content-Length: 5639 2018-01-11 \
> 16:52:55,352[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Proxy-Connection: Keep-Alive 2018-01-11 \
> 16:52:55,353[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Proxy-Authenticate: NTLM 2018-01-11 \
> 16:52:55,354[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Proxy-Authenticate: Basic realm="McAfee Web Gateway" 2018-01-11 \
> 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authentication \
> required 2018-01-11 \
> 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|webgateway.xx.xxxxxx.com:3128 \
> requested authentication 2018-01-11 \
> 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationS \
> trategy|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Authentication \
> schemes in the order of preference: [Negotiate, Kerberos, NTLM, Digest, \
> Basic]{color} 2018-01-11 \
> 16:52:55,359[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
> for Negotiate authentication scheme not available 2018-01-11 \
> 16:52:55,360[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
> for Kerberos authentication scheme not available 2018-01-11 \
> 16:52:55,379[pool-2-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|49-org.apache.httpcomponents.httpclient-4.5.3|Challenge \
> for Digest authentication scheme not available 2018-01-11 \
> 16:52:55,382[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Selected \
> authentication options: [NTLM, BASIC [complete=true]]{color} 2018-01-11 \
> 16:52:55,382[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultManagedHttpClientConnection|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0: \
> Close connection 2018-01-11 \
> 16:52:55,383[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|49-org.apache.httpcomponents.httpclient-4.5.3|Connecting \
> to webgateway.xx.xxxxxx.com/xx.xx.x.xxx:3128 2018-01-11 \
> 16:52:55,389[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConne \
> ctionOperator|49-org.apache.httpcomponents.httpclient-4.5.3{color:#ff0000}|Connection \
> established xx.xxx.xxx.xxx:42040<->xx.xx.x.xxx:3128{color} 2018-01-11 \
> 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|Generating \
> response to an authentication challenge using ntlm scheme{color} 2018-01-11 \
> 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > > 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
> 2018-01-11 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131) 2018-01-11 \
> > > 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|http-outgoing-0 \
> > > >> Proxy-Authorization: NTLM \
> > > > > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}
> 2018-01-11 16:52:55,390[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]" 2018-01-11 \
> > > 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > > >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"
> 2018-01-11 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> "User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_131)[\r][\n]" 2018-01-11 \
> > > 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> > > >> "Proxy-Authorization: NTLM \
> > > > > {color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}[\r][\n]"
> > > > > 
> 2018-01-11 16:52:55,391[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> >> "[\r][\n]" 2018-01-11 \
> > > 16:52:55,396[ResourcePublisher]|INFO|org.glassfish.jersey.process.internal.ExecutorProviders|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Selected \
> > > ExecutorServiceProvider implementation \
> > > [org.glassfish.jersey.server.internal.process.ServerProcessingBinder$DefaultManagedAsyncExecutorProvider] \
> > > to be used for injection of executor qualified by \
> > > [org.glassfish.jersey.server.ManagedAsyncExecutor] annotation.
> 2018-01-11 16:52:55,397[ResourcePublisher]|INFO|org.glassfish.jersey.process.internal.ExecutorProviders|12-com.eclipsesource.jaxrs.jersey-min-2.22.2|Selected \
> ScheduledExecutorServiceProvider implementation \
> [org.glassfish.jersey.server.internal.process.ServerProcessingBinder$DefaultBackgroundSchedulerProvider] \
> to be used for injection of scheduler qualified by \
> [org.glassfish.jersey.server.BackgroundScheduler] annotation. 2018-01-11 \
> 16:52:55,399[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "HTTP/1.1 407 authenticationrequired[\r][\n]" 2018-01-11 \
> 16:52:55,401[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Date: Thu, 11 Jan 2018 16:52:55 GMT[\r][\n]" 2018-01-11 \
> 16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Content-Type: text/html[\r][\n]" 2018-01-11 \
> 16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Cache-Control: no-cache[\r][\n]" 2018-01-11 \
> 16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Content-Length: 0[\r][\n]" 2018-01-11 \
> 16:52:55,403[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Proxy-Connection: Keep-Alive[\r][\n]" 2018-01-11 \
> 16:52:55,404[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "Proxy-Authenticate: NTLM \
> {color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}[\r][\n]"
>  2018-01-11 16:52:55,406[pool-2-thread-1]|DEBUG|org.apache.http.wire|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << "[\r][\n]" 2018-01-11 \
> 16:52:55,409[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|http-outgoing-0 \
> << HTTP/1.1 407 authenticationrequired{color} 2018-01-11 \
> 16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Date: Thu, 11 Jan 2018 16:52:55 GMT 2018-01-11 \
> 16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Content-Type: text/html 2018-01-11 \
> 16:52:55,410[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Cache-Control: no-cache 2018-01-11 \
> 16:52:55,415[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Content-Length: 0 2018-01-11 \
> 16:52:55,415[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Proxy-Connection: Keep-Alive 2018-01-11 \
> 16:52:55,416[pool-2-thread-1]|DEBUG|org.apache.http.headers|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0 \
> << Proxy-Authenticate: NTLM \
> {color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color} \
> 2018-01-11 16:52:55,417[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authentication \
> required 2018-01-11 \
> 16:52:55,417[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-o \
> rg.apache.httpcomponents.{color:#ff0000}httpclient-4.5.3|webgateway.xx.xxxxxx.com3128 \
> requested authentication{color} 2018-01-11 \
> 16:52:55,422[pool-2-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|49-org.apache.httpcomponents.httpclient-4.5.3|Authorization \
> challenge processed 2018-01-11 \
> 16:52:55,422[pool-2-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultManagedHttpClientConnection|49-org.apache.httpcomponents.httpclient-4.5.3|http-outgoing-0: \
>                 Close connection
> .....
> 
> 
> Logs when using   httpclient-osgi-4.5.2.jar:
> ===============================
> .........
> 2018-01-11 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
> request: [route: \\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
> kept alive: 0; route allocated: 0 of 10; total allocated: 0 of 20] 2018-01-11 \
> 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.PoolingHttpClientConnectionManager|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
> leased: [id: 1][route: \
> \\{tls}->http://webgateway.xx.xxxxxx.com:3128->https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443][total \
> kept alive: 0; route allocated: 1 of 10; total allocated: 1 of 20] 2018-01-11 \
> 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-org.apache.httpcomponents.httpclient-4.5.2|Opening \
> connection \{tls}->[http://webgateway.xx.xxxxxx.com:3128-]>[https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443|https://xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx/]
>  2018-01-11 17:06:44,291[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHtt \
> pClientConnectionOperator|51-org.apache.httpcomponents.httpclient-4.5.2|Connecting \
> to webgateway.xx.xxxxxx.com/10.23.2.50:3128 2018-01-11 \
> 17:06:44,298[pool-5-thread-1]|DEBUG|org.apache.http.impl.conn.DefaultHttpClientConnectionOperator|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
> established 10.252.251.122:41078<->10.23.2.50:3128 2018-01-11 \
> 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > > 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
> 2018-01-11 17:06:44,300[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131) 2018-01-11 \
> > > 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]"
> 2018-01-11 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]" 2018-01-11 \
> > > 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > >> "User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)[\r][\n]"
> 2018-01-11 17:06:44,301[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> "[\r][\n]" 2018-01-11 \
> > > 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > << "HTTP/1.1 407 authenticationrequired[\r][\n]"
> 2018-01-11 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Date: Thu, 11 Jan 2018 17:06:43 GMT[\r][\n]" 2018-01-11 \
> 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Content-Type: text/html[\r][\n]" 2018-01-11 \
> 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Cache-Control: no-cache[\r][\n]" 2018-01-11 \
> 17:06:44,318[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Content-Length: 5651[\r][\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Proxy-Connection: Keep-Alive[\r][\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Proxy-Authenticate: NTLM[\r][\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "Proxy-Authenticate: Basic realm="McAfee Web Gateway"[\r][\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "[\r][\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" \
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "<html>[\n]" 2018-01-11 \
> 17:06:44,319[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
>                 << "<!-- FileName: index.html[\n]"
> ...............................
> 2018-01-11 17:06:44,325[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << Proxy-Connection: Keep-Alive 2018-01-11 \
> 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << Proxy-Authenticate: NTLM 2018-01-11 \
> 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << Proxy-Authenticate: Basic realm="McAfee Web Gateway" 2018-01-11 \
> 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|Authentication \
> required 2018-01-11 \
> 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|webgateway.xx.xxxxxx.com:3128 \
> requested authentication 2018-01-11 \
> 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationS \
> trategy|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Authentication \
> schemes in the order of preference: [Negotiate, Kerberos, NTLM, Digest, \
> Basic]{color} 2018-01-11 \
> 17:06:44,326[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
> for Negotiate authentication scheme not available 2018-01-11 \
> 17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
> for Kerberos authentication scheme not available 2018-01-11 \
> 17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Challenge \
> for Digest authentication scheme not available 2018-01-11 \
> 17:06:44,327[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Selected \
> authentication options: [NTLM, BASIC [complete=true]]{color} 2018-01-11 \
> 17:06:44,330[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-org.apache.httpcomponents.httpclient-4.5.2|Connection \
>                 kept alive
> ...................................
> 2018-01-11 17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "<!--/Body-->[\n]" 2018-01-11 \
> 17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "</html>" 2018-01-11 \
> 17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Generating \
> response to an authentication challenge using ntlm scheme{color} 2018-01-11 \
> 17:06:44,380[pool-5-thread-1]|WARN|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|NTLM \
> authentication error: Credentials cannot be used for NTLM authentication: \
> org.apache.http.auth.UsernamePasswordCredentials{color} 2018-01-11 \
> 17:06:44,380[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|Generating \
> response to an authentication challenge using basic scheme{color} 2018-01-11 \
> 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1 2018-01-11 \
> > > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > >> Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx
> 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131) 2018-01-11 \
> > > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|http-outgoing-1 \
> > > >> Proxy-Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}
> 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> "CONNECT xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx:443 HTTP/1.1[\r][\n]" 2018-01-11 \
> > > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > >> "Host: xxxxxxxxxx.xxxxxxxxxxx.xxxxx.xxx[\r][\n]"
> 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> "User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_131)[\r][\n]" 2018-01-11 \
> > > 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > >> "Proxy-Authorization: Basic \
> > > > > {color:#333333}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{color}[\r][\n]"
> 2018-01-11 17:06:44,381[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> >> "[\r][\n]" 2018-01-11 \
> > > 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> > > << "HTTP/1.0 200 Connection established[\r][\n]"
> 2018-01-11 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.wire|51-org.apache.httpcomponents.httpclient-4.5.2|http-outgoing-1 \
> << "[\r][\n]" 2018-01-11 \
> 17:06:44,398[pool-5-thread-1]|DEBUG|org.apache.http.headers|51-org.apache.httpcomponents.{color:#ff0000}httpclient-4.5.2|http-outgoing-1 \
> << HTTP/1.0 200 Connection established{color} 2018-01-11 \
> 17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.auth.HttpAuthenticator|51-org.apache.httpcomponents.httpclient-4.5.2|Authentication \
> succeeded 2018-01-11 \
> 17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.client.ProxyAuthenticationStrategy|51-org.apache.httpcomponents.httpclient-4.5.2|Caching \
> 'basic' auth scheme for \
> [http://webgateway.xx.xxxxxx.com:3128|http://webgateway.xx.xxxxxx.com:3128/] \
> 2018-01-11 17:06:44,399[pool-5-thread-1]|DEBUG|org.apache.http.impl.execchain.MainClientExec|51-{color:#ff0000}org.apache.httpcomponents.httpclient-4.5.2|Tunnel \
>                 to target created.{color}
> .......
> 
> 
> 
> 
> 
> 
> 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic