`
mywhy
  • 浏览: 66939 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java获取外网ip地址

 
阅读更多
转自:http://blog.163.com/houjunchang_daxue/blog/static/13037938320134543310451/
/**
* 获取外网IP、归属地、操作系统
* @return
*/
public static String[] getIp(){
String[] obj = new String[3];
StringBuffer strForeignIP = new StringBuffer("");
StringBuffer strLocation = new StringBuffer("");
StringBuffer strOperatorMessageation = new StringBuffer("");
String ipAddress = "";
String ipLocation = "";
String ipSystem = "";
StringBuffer strUrl =new StringBuffer("http://www.cz88.net/ip/viewip778.aspx");
try{
URL url = new URL(strUrl.toString());
URLConnection context = url.openConnection();
InputStream in = context.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in, "gb2312"));//防止读出来的是乱码

String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
sb.append(s + "\r\n");
}
br.close();
String webContent = sb.toString();
if (null!=webContent && webContent.trim().length()>0){
String flagofForeignIPString = "IPMessage";
int startIP = webContent.indexOf(flagofForeignIPString) + flagofForeignIPString.length() + 2;
int endIP = webContent.indexOf("</span>", startIP);
strForeignIP.delete(0, webContent.length());
strForeignIP.append(webContent.substring(startIP, endIP));

String flagofLocationString = "AddrMessage";
int startLoc = webContent.indexOf(flagofLocationString)+ flagofLocationString.length() + 2;
int endLoc = webContent.indexOf("</span>", startLoc);
strLocation.delete(0, webContent.length());
strLocation.append(webContent.substring(startLoc, endLoc));

String flagoOperatorMessage = "OperatorMessage";
int startOpera = webContent.indexOf(flagoOperatorMessage)+ flagoOperatorMessage.length() + 2;
int endOpera = webContent.indexOf("</span>", startOpera);
strOperatorMessageation.delete(0, webContent.length());
strOperatorMessageation.append(webContent.substring(startOpera, endOpera));
}
}catch(Exception e){
System.out.println("IpUtil:get ip is failed:"+e.getMessage());
e.printStackTrace();
}
if(strForeignIP.toString().trim().length()<0){
ipAddress = "未知";
}else{
ipAddress = strForeignIP.toString();
}

if(strForeignIP.toString().trim().length()<0){
ipLocation = "未知";
}else{
ipLocation = strLocation.toString();
}

if(strForeignIP.toString().trim().length()<0){
ipSystem = "未知";
}else{
ipSystem = strOperatorMessageation.toString();
}
obj[0]=ipAddress;
obj[1]=ipLocation;
obj[2]=ipSystem;
return obj;
}
分享到:
评论

相关推荐

    java获取当前主机的外网ip

    java获取当前主机的外网ip,简单方便。

    java获取外网ip

    通过以上分析可以看出,Java 提供了丰富的工具和库来帮助开发者轻松地实现获取外网 IP 地址的功能。此外,了解 HTTP 请求的基本原理以及如何处理异常和资源管理对于开发健壮的应用程序至关重要。

    java获取本机外网ip

    通过url链接到一个网址,该网址返回自己的ip地址(通过代理服务器访问)

    java获取linux服务器上的IP操作

    在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux服务器上的网络接口、回环接口、获取IP地址的方法等。 Linux服务器上的网络接口 在Linux服务器上,网络接口是用来发送和接受数据包的基本设备...

    java代码得到外网ip地址

    java代码得到外网ip地址,java调net webservice远程联调用得着

    java根据ip获取国家、地区名称,附带ip地址库

    在Java编程中,根据IP地址获取国家和地区名称是一项常见的需求,尤其在数据分析、网络监控或者用户定位等场景中。这个话题涉及到的主要知识点包括IP地址处理、数据库查询以及使用第三方库。 首先,IP地址是一个32位...

    利用IP138网站获得本机外网IP地址

    1:通过WWW.IP138.COM来获得本机的外网IP地址 2:针对网上的其它实例增加实时更新IP地址功能,防止断网重连后IP地址显示不正确 3:增加一条命令,用来解决MSXML2.XMLHTTP和Microsoft.XMLHTTP老是读旧缓存导致IP地址...

    android获取公网ip地址 IPUtil.java

    通过异步任务来获取当前用户的ip地址,使用的时候调用getRemoteIP方法就可以,需要传一个可以获取公网ip的url地址,这个百多很多,比如,搜狐,淘宝之类的都有,同时还有一个超时的任务,具体看代码了

    Android开发获取手机内网IP地址与外网IP地址的详细方法与源码实例

    Android开发获取手机内网IP地址与外网IP地址的方法与源码实例 Android开发中,获取手机内网IP地址和外网IP地址是非常重要的技术点,对于Android应用开发者来说,获取当前Android设备所使用的网络IP地址的场景是...

    java判断是内网ip还是公网ip

    在Java编程中,判断一个IP地址是内网IP(私有IP)还是公网IP(全局IP)是一项常见的任务,尤其在网络编程和服务器配置中。内网IP通常用于局域网内部通信,而公网IP则是互联网上的唯一标识。下面将详细探讨如何实现这...

    获取外网IP

    实现获取外网IP的代码通常涉及网络编程,如Python的`requests`库或Java的`java.net.URL`类。例如,在Python中,你可以使用以下代码获取外网IP: ```python import requests def get_external_ip(): response =...

    android手机获取上网的ip地址

    6. 请求外部服务验证:为了确认获取到的是外网IP,可以向公共IP查询服务发送请求,比对返回的IP地址。 在`readme.txt`中,可能包含了关于`GetPhoneIP`代码的使用说明和注意事项,例如如何集成到项目中,如何处理...

    获取外网IP以及根据IP获取城市天气

    随手写的一个Winfrom小程序,首先...我在网上看了好多关于获取外网IP的帖子,试了好多都获取不到外网的IP获取到是只是一段HTML代码,我在他们的基础上加了个webBrowser控件实现了这个功能,有兴趣的朋友可以下载看看

    获取android设备的内网IP地址

    在Android平台上,获取设备的内网IP地址是一个常见的需求,特别是在网络通信或者设备间互动的场景下。这个“获取android设备的内网IP地址”的demo就是为此目的设计的。它首先尝试通过WiFi接口获取IP,如果WiFi未开启...

    Android获取手机ip地址及mac地址

    在Android开发中,获取设备的IP地址和MAC地址是常见的需求,尤其是在进行网络通信或设备识别时。以下是对如何在Android应用中实现这一功能的详细解析。 ### 一、获取MAC地址 MAC地址(Media Access Control ...

    获取连接手机热点设备的IP地址

    在Android开发中,有时我们需要获取连接到手机热点设备的IP地址,这在设备间通信、网络诊断或构建本地网络服务时特别有用。本教程将详细解释如何实现这一功能,主要涉及"IP地址获取"和"手机AP"这两个关键知识点。 ...

    简易java查询IP归属地示例代码

    面向中国大陆地区的 手机号码、电话号码、IP地址 归属地查询库。 IP地址库来源于 [ip2region](http://git.oschina.net/lionsoul/ip2region)。 手机号码段和电话号码区号信息来源于 [ip138](http://ip138.com/)。 # ...

    获取IP地址和地理位置

    在这个例子中,我们简单地从`api.ipify.org`获取了外网IP地址。如果要获取地理位置,你需要替换`getLocationInfo`方法,使用腾讯提供的API接口,并根据返回的JSON数据解析出地理位置信息。 总之,获取IP地址和地理...

    Java判断IP地址为内网IP还是公网IP的方法

    在Java编程中,判断一个IP地址是内网IP(Private IP)还是公网IP(Public IP)通常涉及到网络通信和TCP/IP协议的理解。TCP/IP协议为了提高网络效率和安全性,将一部分IP地址范围预留给了内部网络使用,这些IP地址...

    java开发基于百度API,淘宝API和腾讯IP库(qqwry.dat),通过IP获取区域城市位置,经纬度获取城市地址,城市地址获取经纬度等信息实例

    通过外网IP获取地址详细信息等;(具体信息有:经纬度,ISP,区域编码,区域名称,城市名称,省份名称) 2.淘宝API测试示例是通过IP获取地址,同上,但是没有经纬度的; 3.腾讯qqwry.dat是支持离线通过IP获取地址,是...

Global site tag (gtag.js) - Google Analytics