Java 8 HTTP & SOCKS proxy support issues
I've been studying Java 7 HTTP and SOCKS proxy support and found it lacking wrt. proxy authentication and address resolution, so I decided to check out Java 8 to see if things will improve with the introduction of the new release.
(I'm referring to JVM level proxy support that can be configured via JVM without any application code changes as in:
Unfortunately, with the current builds things seem to gotten worse:
SOCKS5 proxy authentication that was present in Java 7 appears to have been removed.
Is this change also planned for the GA release?
I was also disappointed to notice that HTTP proxy authentication is still not supported despite of being widely used and supported by other applications.
Are there any plans for adding it?
Currently, both SOCKS proxy and HTTP proxy support appear to do the target host address resolution before delivering the host name to the proxy server, if the target host can be resolved. If resolution fails, then target host name is sent to the proxy.
I'm working in an environment where we'd like to configure the proxy with access control lists of allowed target hosts, and we'd like to use DNS names in those lists. This is not possible currently because the JVM does address resolution.
It would be nice if there was a configuration parameter allowing address resolution to be skipped.
In the meantime, is the current address resolution behaviour something we can rely on in the future?
If we disable DNS on the JVM hosts to force address resolution to fail, can we be sure that the current behavior will be preserved in future releases and the proxy support classes still connect to the proxy server passing the target host name?