Como detectar configurações do proxy para conexões de Internet

Aprenda a detecar as configurações do proxy.

Como detectar configurações do proxy para conexões de Internet

O Java SE 1.5 fornece a classe ProxySelector para detectar as configurações do proxy. O exemplo abaixo apresenta esta funcionalidade:

<B><SPAN >public class </SPAN></B><SPAN >testProxy {</SPAN>

<B><SPAN >public static void </SPAN></B><SPAN >main(String[] args) {</SPAN>
<B><SPAN >try </SPAN></B><SPAN >{</SPAN>
<SPAN >System.setProperty(</SPAN><SPAN >"java.net.useSystemProxies"</SPAN><SPAN >,</SPAN><SPAN >"true"</SPAN><SPAN >);</SPAN>
<SPAN >List l = ProxySelector.getDefault().select(</SPAN>
<B><SPAN >new </SPAN></B><SPAN >URI(</SPAN><SPAN ><A href="http://www.yahoo.com/">http://www.yahoo.com/</A></SPAN><SPAN >));</SPAN>
<B><SPAN >for </SPAN></B><SPAN >(Iterator iter = l.iterator(); iter.hasNext(); ) {</SPAN>

<SPAN ></SPAN>
<SPAN >Proxy proxy = (Proxy) iter.next();</SPAN>
<SPAN >System.out.println(</SPAN><SPAN >"proxy hostname : " </SPAN><SPAN >+ proxy.type());</SPAN>

<SPAN ></SPAN>
<SPAN >InetSocketAddress addr = (InetSocketAddress)</SPAN>
<SPAN >proxy.address();</SPAN>

<B><SPAN >if</SPAN></B><SPAN >(addr == </SPAN><B><SPAN >null</SPAN></B><SPAN >) {</SPAN>
<SPAN >System.out.println(</SPAN><SPAN >"Sem Proxy"</SPAN><SPAN >);</SPAN>
<SPAN >} </SPAN><B><SPAN >else </SPAN></B><SPAN >{</SPAN>
<SPAN >System.out.println(</SPAN><SPAN >"proxy hostname : " </SPAN><SPAN >+ </SPAN>
<SPAN >addr.getHostName());</SPAN>
<SPAN >System.out.println(</SPAN><SPAN >"proxy port : " </SPAN><SPAN >+ </SPAN>
<SPAN >addr.getPort());</SPAN>
<SPAN >}</SPAN>
<SPAN >}</SPAN>
<SPAN >} </SPAN><B><SPAN >catch </SPAN></B><SPAN >(Exception e) {</SPAN>
<SPAN >e.printStackTrace();</SPAN>
<SPAN >}</SPAN>
<SPAN >}</SPAN>
<SPAN >}</SPAN>

Artigos relacionados