一、java常用-java获取公网ip和本地ip
获取本地ip代码:
本地ip获取相对简单
/**
* 方法描述:获取操作的本机ip
*@param request
*@return
*/
public static String getLocalhostIpAddr() {
String addr = null;
try {
addr = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
logger.error(String.format("UnknownHostException出错,原因:%s", e.getMessage()));
}
return addr;
}
获取公网ip代码:
获取公网ip麻烦一点,我们通过ip138.com这个网站获取公网ip,而这个网站获取公网ip的接口是http://1212.ip138.com/ic.asp直接用java进行访问然后返回的数据进行解析和拆分组装就能获得公网ip
/**
* 方法描述:获取公网ip
*@return
*/
public static String getCommIpAddr() {
try {
URL url = new URL("http://1212.ip138.com/ic.asp");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String s = "";
StringBuffer sb = new StringBuffer("");
String webContent = "";
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n");
}
br.close();
webContent = sb.toString();
int start = webContent.indexOf("[")+1;
int end = webContent.indexOf("]");
webContent = webContent.substring(start,end);
return webContent;
} catch (Exception e) {
logger.error(String.format("Exception出错,原因:%s", e.getMessage()));
return "error";
}
}
效果图: