2011-11-16 9 views
11

Próbuję utworzyć połączenie URL przy użyciu serwera proxy w czasie wykonywania. Mój kod jest poniżej:Jak uzyskać połączenie URL za pomocą proxy w java?

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.10.100.100", 80)); 
HttpURLConnection connection = 
    (HttpURLConnection)new URL("http://abc.abcd.com").openConnection(proxy); 

Ale to nie działa. Ktoś wie dlaczego?

+4

co nie działa? Czy masz StackTrace lub błąd? –

+2

Dlaczego to nie działa? Jaki jest błąd? – oers

+0

Jakiego typu proxy używasz? –

Odpowiedz

13

dodanie odpowiedź za pomocą przyszłych zwiedzających sposób

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.10.100.100", 80)); 
HttpURLConnection connection =(HttpURLConnection)new URL("http://abc.abcd.com").openConnection(proxy); 
connection.setDoOutput(true); 
connection.setDoInput(true); 
connection.setRequestProperty("Content-type", "text/xml"); 
connection.setRequestProperty("Accept", "text/xml, application/xml"); 
connection.setRequestMethod("POST"); 
+0

dziękuję milionowi, że zadziałało dla mnie :) – Vidhee

2

dku.rajkumar nie działa ze mną.

Próbuję tego i działa. Ale wymaga to podwójnego czasu.

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.10.100.100", 80)); 

    HttpURLConnection connection = 
     (HttpURLConnection)new URL("http://abc.abcd.com").openConnection(proxy); 
    ((HttpURLConnection)new URL("http://abc.abcd.com").openConnection(proxy)).getInputStream(); 

System.out.println(connection.usingProxy()); 

wynik jest prawdziwy

bez ((HttpURLConnection)new URL("http://abc.abcd.com").openConnection(proxy)).getInputStream();

wynik jest fałszywy