我们现在一个项目需要抓取ip地址和所在的地区,当然我们会有很多办法可以处理,自已下载ip数据库 列如:纯真的IP地址库 http://www.cr173.com/soft/2798.html
第二种方式利用第二方的开源接口来获取ip所在位置下面 这个文章主要来介绍国内的一些获取ip和地址的一些项目;
1、百度的 Api接口 http://apistore.baidu.com/apiworks/servicedetail/1004.html
2、阿里的 Api http://ip.taobao.com
列子:
接口说明
1. 请求接口(GET):
/service/getIpInfo.php?ip=[ip地址字串]
2. 响应信息:
(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
3. 返回数据格式:
{"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317",
"region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1",
"country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",
"county_id":"-1","isp_id":"100017"}}
其中code的值的含义为,0:成功,1:失败。
http://ip.taobao.com//service/getIpInfo.php?ip=8.8.8.8
关于这个不多说了,越说越气愤。我们看看如何使用国内几个门户网站提供的 IP API 的使用方法,我个人不喜欢腾讯提供的,它使用的是gb2312编码,这里仅以搜狐提供的 IP API 说明下。使用时,可先将地址拷贝到浏览器中看下返回结果,在进行合理的调用。如调用搜狐提供的 IP API 方法如下:
<script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script> var result = returnCitySN; var city = returnCitySN.cname;</script>
结果如下:
以下是几大门户网站提供的 IP API 地址:
腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress
新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=219.242.98.111
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip