Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
5.2.2
-
None
-
None
Description
Performing a simple HTTPS request using the classic client in 5.2.2 fails with java.lang.IllegalArgumentException: Invalid Proxy. A simple example is attached which works correctly using HttpClient 5.2.1, and fails with 5.2.2.
I believe the failure come from org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator, in the connect() method. Specifically, the line:
Socket sock = sf.createSocket(proxy, context);
should instead be:
Socket sock = (proxy != null) ? sf.createSocket(proxy, context) : sf.createSocket(context);
When I run this example with 5.2.2, I get:
{{Exception in thread "main" java.lang.IllegalArgumentException: Invalid Proxy
at java.base/java.net.Socket.<init>(Socket.java:216)
at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.createSocket(SSLConnectionSocketFactory.java:208)
at org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:158)
at org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:447)
at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:162)
at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:172)
at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:142)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:192)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:96)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:152)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:115)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:123)
at com.example.httpclient.ClassicClientUseCase.main(ClassicClientUseCase.java:16)
}}
Attachments
Attachments
Issue Links
- is duplicated by
-
HTTPCLIENT-2307 getting "Invalid Proxy" when no proxy set
- Resolved