java实现根据ip地址获取地理位置的代码分享
前几天想给网站后台加个解析ip所在地理位置的功能,在网上看了一些博客,找了几段程序,但总觉得写的不够简洁,感觉很啰嗦。下面这个程序,感觉还算简洁,于是整理调试了一下,可以用,程序调用了“腾讯ip分享计划”提供的接口,当然也可以改成ip138提供的接口,不过这两个网站返回的字符串格式有些不同,要分别做解析。
public String getAddressByIP()
{
try
{
String strIP = "0.0.0.0";
URL url = new URL( "http://ip.qq.com/cgi-bin/searchip?searchip1=" + strIP);
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK"));
String line = null;
StringBuffer result = new StringBuffer();
while((line = reader.readLine()) != null)
{
result.append(line);
}
reader.close();
strIP = result.substring(result.indexOf( "该IP所在地为:" ));
strIP = strIP.substring(strIP.indexOf( ":") + 1);
String province = strIP.substring(6, strIP.indexOf("省"));
String city = strIP.substring(strIP.indexOf("省") + 1, strIP.indexOf("市"));
... ...
... ...
}
catch( IOException e)
{
return "读取失败";
}
}
附:
新浪接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=
淘宝接口:http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]
相关推荐
-
java获取ip地址示例
如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDE
-
java通过ip获取客户端Mac地址的小例子
复制代码 代码如下: package com.yswc.dao.sign; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * * 获取MAC地址 * * @author * * 2011-12 * */ public class GetMacAddress { publi
-
java中通过网卡名称获取IP地址
复制代码 代码如下: package me.xuzs.sso.test; import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration; public class InternetTest { public static void main(String[] args) { String netCard
-
Java实现获取客户端真实IP方法小结
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请
-
Java中使用HttpRequest获取用户真实IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.jb51.net / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110
-
java实现根据ip地址获取地理位置
最近项目某个功能需要根据ip地址从第三方接口获取详细的地理位置,从网上找了很多例子,主要接口有新浪的,淘宝的,腾讯的.试了淘宝的,如果是数量级小的还可以,如果数量级达到上十万级就速度慢了,会导致系统崩溃.下面例子是新浪的,例子不是适合每个项目,需要改一下. /** ipSearchUrl=http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=(这是新浪的接口地址) 在项目中新浪的接口地址没有直接写死,而是去读属性文件. *
-
java实现根据ip地址获取地理位置的代码分享
前几天想给网站后台加个解析ip所在地理位置的功能,在网上看了一些博客,找了几段程序,但总觉得写的不够简洁,感觉很啰嗦.下面这个程序,感觉还算简洁,于是整理调试了一下,可以用,程序调用了"腾讯ip分享计划"提供的接口,当然也可以改成ip138提供的接口,不过这两个网站返回的字符串格式有些不同,要分别做解析. public String getAddressByIP() { try { String strIP = "0.0.0.0"; URL url = new UR
-
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
本文实例讲述了Python2.7基于淘宝接口获取IP地址所在地理位置的方法.分享给大家供大家参考,具体如下: #!/usr/bin/python import sys, os, urllib2, json def get_ip_area(ip): try: apiurl = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" %ip content = urllib2.urlopen(apiurl).read() data = json
-
java根据ip地址获取详细地域信息的方法
互联网有很多接口可以实现通过ip查询到具体的位置,如下: 通过淘宝IP地址库获取IP位置 请求接口(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 响应信息:(json格式的)国家 .省(自治区或直辖市).市(县).运营商 返回数据格式: {"code":0,"data":{"ip":"210.75.225.254","country"
-
Java根据ip地址获取归属地实例详解
目录 引言 Java 中是如何获取 IP 属地的 首先需要写一个 IP 获取的工具类 内置的三种查询算法 使用方法 项目用到的全部依赖 引言 最近,各大平台都新增了评论区显示发言者ip归属地的功能,例如哔哩哔哩,微博,知乎等等. Java 中是如何获取 IP 属地的 主要分为以下几步 通过 HttpServletRequest 对象,获取用户的 IP 地址 通过 IP 地址,获取对应的省份.城市 首先需要写一个 IP 获取的工具类 因为每一次用户的 Request 请求,都会携带上请求的 IP
-
php实现根据IP地址获取其所在省市的方法
根据现有IP地址获取其地理位置(省份,城市等)的方法 function GetIpLookup($ip = ''){ if(empty($ip)){ return '请输入IP地址'; } $res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip); if(empty($res)){ return false; } $jsonMatches = array(
-
PHP根据IP地址获取所在城市具体实现
文件目录: ipLocation-----qqwry----------QQWry.Dat-----ipCity.class.php ipCity.class.php文件代码: 复制代码 代码如下: <?php class ipCity { /** * 根据ip地址获取对应所在城市 * @param type $userip 用户IP地址 * @return string */ public function getCity( $userip, $dat_p
-
JAVA获得域名IP地址的方法
本文实例讲述了JAVA获得域名IP地址的方法.分享给大家供大家参考.具体如下: import java.net.InetAddress; import java.net.UnknownHostException; public class TestInetAddress { InetAddress myIpAddress = null; InetAddress[] myServer = null; public static void main(String args[]) { TestInet
-
Java编程IP地址和数字相互转换代码示例
最近才知道,将ip地址转换成十进制.八进制.十六进制同样可以访问网站. IP转为数字(第二种算法.用左移.按位或实现.效率更高.): public long ipToLong(String ipAddress) { long result = 0; String[] ipAddressInArray = ipAddress.split("\\."); for (int i = 3; i >= 0; i--) { long ip = Long.parseLong(ipAddress
-
java正则表达式判断 ip 地址是否正确解析
这篇文章主要介绍了java正则表达式判断 ip 地址是否正确解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public class ClassWork05 { public static void main(String[] args) { System.out.println(IsIp.isIp("10.10.1.1")); } } class IsIp{ public static boolean isIp(Str
随机推荐
- jstree创建无限分级树的方法【基于ajax动态创建子节点】
- 详解Python中的各种函数的使用
- 文本框input聚焦失焦样式实现代码
- android Gallery组件实现的iPhone图片滑动效果实例
- C#基于正则表达式实现获取网页中所有信息的网页抓取类实例
- python实现2014火车票查询代码分享
- 关于Python 3中print函数的换行详解
- PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
- Node.js实战 建立简单的Web服务器
- 使用rsync同步网路备份第1/2页
- js中的caller和callee属性介绍和例子
- LNMP添加、删除虚拟主机及伪静态使用教程
- C语言中const,volatile,restrict的用法总结
- C#学习笔记整理_变量等基础语法(必看篇)
- Android中获取IMEI码的方法
- CISCO扫盲基础命令
- 十兆空间为您提供20M免费静态空间服务
- Golang中重复错误处理的优化方法
- java 文件下载支持中文名称的实例
- JS中图片压缩的方法小结
