Java获取本机外网ip地址的方法

来源:互联网 发布:淘宝给卖家发图片 编辑:程序博客网 时间:2024/05/19 02:00

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字段。例如:http://ip.chinaz.com/

通过这个网址,加上简单的正则表达式,即可得到。

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");}//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 = Pattern.compile("\\<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;

}

参考博客: http://blog.csdn.net/dugucanjian/article/details/47378063

0 0
原创粉丝点击