FULL PRODUCT VERSION :
Java 1.7.0_25
ADDITIONAL OS VERSION INFORMATION :
Windows 7 64-bit
A DESCRIPTION OF THE PROBLEM :
When you set up a proxy server (Internet Options->LAN Settings) in Windows 7 there is a checkbox called:
"Bypass proxy server for local addresses"
This means that HTTP connections to "localhost" or "127.0.0.1" should avoid going through the server.
This no longer happens, it used to work with Java 1.6 but in Java 1.7 the proxy is used also for localhost connections, probably this issue introduced the problem:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6737819
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Call this code:
System.setProperty("java.net.useSystemProxies", "true");
System.err.println(ProxySelector.getDefault().select(new URI("http://localhost/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://127.0.0.1/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://www.oxygenxml.com/index.html")));
The code should return a direct PROXY connection for the first two URIs and the proxy configured in the system for the third one (because the "Bypass proxy server for local addresses" checkbox is checked).
But it returns the same configured proxy for all connections.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The code should return a direct PROXY connection for the first two URIs and the proxy configured in the system for the third one (because the "Bypass proxy server for local addresses" checkbox is checked).
ACTUAL -
But it returns the same configured proxy for all connections.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
System.setProperty("java.net.useSystemProxies", "true");
System.err.println(ProxySelector.getDefault().select(new URI("http://localhost/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://127.0.0.1/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://www.oxygenxml.com/index.html")));
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
I can set my own proxy configuration in the system which wraps the current one and returns a direct proxy for localhost connections.
Java 1.7.0_25
ADDITIONAL OS VERSION INFORMATION :
Windows 7 64-bit
A DESCRIPTION OF THE PROBLEM :
When you set up a proxy server (Internet Options->LAN Settings) in Windows 7 there is a checkbox called:
"Bypass proxy server for local addresses"
This means that HTTP connections to "localhost" or "127.0.0.1" should avoid going through the server.
This no longer happens, it used to work with Java 1.6 but in Java 1.7 the proxy is used also for localhost connections, probably this issue introduced the problem:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6737819
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Call this code:
System.setProperty("java.net.useSystemProxies", "true");
System.err.println(ProxySelector.getDefault().select(new URI("http://localhost/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://127.0.0.1/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://www.oxygenxml.com/index.html")));
The code should return a direct PROXY connection for the first two URIs and the proxy configured in the system for the third one (because the "Bypass proxy server for local addresses" checkbox is checked).
But it returns the same configured proxy for all connections.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The code should return a direct PROXY connection for the first two URIs and the proxy configured in the system for the third one (because the "Bypass proxy server for local addresses" checkbox is checked).
ACTUAL -
But it returns the same configured proxy for all connections.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
System.setProperty("java.net.useSystemProxies", "true");
System.err.println(ProxySelector.getDefault().select(new URI("http://localhost/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://127.0.0.1/index.html")));
System.err.println(ProxySelector.getDefault().select(new URI("http://www.oxygenxml.com/index.html")));
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
I can set my own proxy configuration in the system which wraps the current one and returns a direct proxy for localhost connections.
- duplicates
-
JDK-8170868 DefaultProxySelector should use system defaults on Windows, MacOS and Gnome
- Closed
- relates to
-
JDK-6737819 sun.misc.net.DefaultProxySelector doesn't use proxy setting to localhost
- Resolved