java 獲取本機的公網、外網ip
阿新 • • 發佈:2019-01-05
本機通過路由器聯網,獲取ip時獲取的是路由器分配的IP。
獲取公網的IP:
檢查元素,可以獲得一個地址
直接訪問這個網站進行擷取
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.SocketException; import java.net.URL; import java.net.URLConnection; public class Main { public static void main(String[] args) throws SocketException { for (int i = 0; i < 1000000; i++) { int a=i; new Runnable() { public void run() { System.out.println(a+"=========="+Main.getMyIP()); } }.run(); } } private static String getMyIP() { InputStream ins = null; try { URL url = new URL("http://1212.ip138.com/ic.asp"); URLConnection con = url.openConnection(); ins = con.getInputStream(); InputStreamReader isReader = new InputStreamReader(ins, "GB2312"); BufferedReader bReader = new BufferedReader(isReader); StringBuffer webContent = new StringBuffer(); String str = null; while ((str = bReader.readLine()) != null) { webContent.append(str); } // System.out.println(webContent); int start = webContent.indexOf("[") + 1; int end = webContent.indexOf("]"); return webContent.substring(start, end); } catch (Exception e) { e.printStackTrace(); } finally { if (ins != null) { try { ins.close(); } catch (IOException e) { e.printStackTrace(); } } } return ""; } }