java获取本机内外网ip
获取外网ip
public static String getV4IP() {
String ip = "";
String chinaz = "http://ip.chinaz.com";
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");
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Pattern p = Pattern.compile("\\<dd class\\=\"fz24\">(.*?)\\<\\/dd>");
Matcher m = p.matcher(inputLine.toString());
if (m.find()) {
String ipstr = m.group(1);
ip = ipstr;
}
return ip;
}
获取内网ip
public static String neiwangIp(){
InetAddress ia=null;
String localip= "";
try {
ia=ia.getLocalHost();
String localname=ia.getHostName();
localip=ia.getHostAddress();
System.out.println("本机名称是:"+ localname);
System.out.println("本机的内网ip是 :"+localip);
} catch (Exception e) {
e.printStackTrace();
}
return localip;
}