Java如何设置代理ip


Java如何设置代理ip

第一种,直接在JVM中设置:

  /JVM设置代理/

  System.getProperties().setProperty("http.proxyHost", ip);

  System.getProperties().setProperty("http.proxyPort", "80");

  这种设置的优势 :快捷方便,且由于是JVM级别的设置,可以对整个项目起作用。当然这种设置方法有一个明显的劣势:当代理ip不可用时,会直接调用本地网络来进行连接。这个问题在很多使用场景中是非常致命的。

第二种,使用SocketAddress网络代理:

  SocketAddress addr = new InetSocketAddress(host, Integer.parseInt(port));

  Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);

  try{

  URL url = new URL("http://www.baidu.com");

  URLConnection conn = url.openConnection(proxy);

  conn.setConnectTimeout(5000);

  conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)");

  conn.getContent();

  }catch (Exception e) {

  e.printStackTrace();

  }

这种办法的优势是,在代理连接发生错误时,会抛出异常而并不是使用本地的连接继续访问。而劣势也很明显,你需要为每一次连接创建一个代理对象。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM