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