国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > Android获取外网和内网的IP

Android获取外网和内网的IP

来源:程序员人生   发布时间:2015-05-15 08:08:23 阅读次数:3559次

很晚了,直接上代码:

/** * 获得外网的IP(要访问Url,要放到后台线程里处理) * * @Title: GetNetIp * @Description: * @param @return * @return String * @throws */ public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; String ipLine = ""; HttpURLConnection httpConnection = null; try { infoUrl = new URL("http://ip168.com/"); URLConnection connection = infoUrl.openConnection(); httpConnection = (HttpURLConnection) connection; int responseCode = httpConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { inStream = httpConnection.getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader(inStream, "utf⑻")); StringBuilder strber = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) strber.append(line + " "); Pattern pattern = Pattern .compile("((?:(?:25[0⑸]|2[0⑷]d|((1d{2})|([1⑼]?d))).){3}(?:25[0⑸]|2[0⑷]d|((1d{2})|([1⑼]?d))))"); Matcher matcher = pattern.matcher(strber.toString()); if (matcher.find()) { ipLine = matcher.group(); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { inStream.close(); httpConnection.disconnect(); } catch (IOException e) { e.printStackTrace(); } } return ipLine; } /** * 获得本地IP * * @return */ public static String getLocalIpAddress() { try { Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); while (en.hasMoreElements()) { NetworkInterface ni = en.nextElement(); Enumeration<InetAddress> enIp = ni.getInetAddresses(); while (enIp.hasMoreElements()) { InetAddress inet = enIp.nextElement(); if (!inet.isLoopbackAddress() && (inet instanceof Inet4Address)) { return inet.getHostAddress().toString(); } } } } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } return "0"; }


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生