Java获取外网IP地址的方法
获取本地IP地址的方法
public static String getLocalAddress(){String ip = "";try {ip = InetAddress.getLocalHost().getHostAddress();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();}return ip;}
获取外网本机的IP地址的方法
一种可行的获取方法,是通过http请求从网站中取出ip字段。例如:/
通过这个网址,加上简单的正则表达式,即可得到。
public static String getV4IP(){String ip = "";String chinaz = "";StringBuilder inputLine = new StringBuilder();String read = "";URL url = null;HttpURLConnection urlConnection = null;BufferedReader in = null;try {url = new URL(chinaz);urlConnection = (HttpURLConnection) url.openConnection();in = new BufferedReader( new InputStreamReader(urlConnection.getInputStream(),"UTF-8"));while((read=in.readLine())!=null){inputLine.append(read+"\r\n");}//System.out.println(inputLine.toString());} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(in!=null){try {in.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}Pattern p = pile("\\<dd class\\=\"fz24\">(.*?)\\<\\/dd>");Matcher m = p.matcher(inputLine.toString());if(m.find()){String ipstr = m.group(1);ip = ipstr;//System.out.println(ipstr);}return ip;
}
参考博客: /dugucanjian/article/details/47378063