14

I am trying to create URL connection using a proxy at run time. My code is below:

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

But this is not working. Anybody know why?

Patrick Mevzek
  • 9,491
  • 15
  • 33
  • 49
dku.rajkumar
  • 18,048
  • 7
  • 40
  • 58

2 Answers2

17

adding answer for the help of future visitors

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.0.2.100", 80));
HttpURLConnection connection =(HttpURLConnection)new URL("http://abc.example.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");
Patrick Mevzek
  • 9,491
  • 15
  • 33
  • 49
dku.rajkumar
  • 18,048
  • 7
  • 40
  • 58
3

dku.rajkumar's way doesn't work with me.

I try this and it work. But it takes double time.

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

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

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

the result is true

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

the result is false

Patrick Mevzek
  • 9,491
  • 15
  • 33
  • 49
Huabo Mei
  • 31
  • 1