获取公网Ip这个功能很容易实现,最通用的方法就是访问某个提供IP地址服务的网站
我用的是IP138
贴代码:
public String getPublicIP(){
String strUrl="http://20140507.ip138.com/ic.asp";
try {
URL url = new URL(strUrl);
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();
//在ip138中 ip地址显示时格式是 [ip] 获取‘[’,‘ ]’ 的下标 截取字符串来得到IP
int start = webContent.indexOf("[")+1;
int end = webContent.indexOf("]");
webContent = webContent.substring(start,end);
System.out.println("webContent ");
} catch (Exception e) {
e.printStackTrace();
System.out.println("get IP fail");
}
}
结果 :220.112.221.99
这个方法总感觉不是那么保险 要根据网页内容来截取ip字符串 但网上一般都是这么干的