I cant report bugs to sun, can one of you report this bug and say so, so there aren't any duplicates
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| package util.net;
import java.io.IOException; import java.net.MalformedURLException; import java.net.Proxy; import java.net.ProxySelector; import java.net.SocketAddress; import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.util.Collections; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test;
public class ProxySelectorBugTest {
public ProxySelectorBugTest() { }
@BeforeClass public static void setUpClass() throws Exception { }
@AfterClass public static void tearDownClass() throws Exception { }
@Before public void setUp() { }
@After public void tearDown() { }
@Test public void testURLConnectionDoesntBypassProxySelector(){ ProxySelector proxySelector = ProxySelector.getDefault(); ProxySelector.setDefault(new UserProxySelector()); try { URL u = new URL("http://www.yahoo.com"); URLConnection conn = u.openConnection(); conn.connect(); } catch (Exception ex) { Logger.getLogger(ProxySelectorBugTest.class.getName()).log(Level.SEVERE, null, ex); } ProxySelector.setDefault(proxySelector); }
class UserProxySelector extends ProxySelector{
@Override public void connectFailed(URI uri, SocketAddress sa, IOException ioe) { }
@Override public List<Proxy> select(URI uri) { try { URL u = new URL("http://www.google.com"); URLConnection conn = u.openConnection(Proxy.NO_PROXY); conn.connect(); } catch (Exception ex) { Logger.getLogger(UserProxySelector.class.getName()).log(Level.SEVERE, null, ex); } return Collections.singletonList(Proxy.NO_PROXY); }
} } |