通过IP地址获取对应的地区信息通常有两种方法:
1)自己写程序,解析IP对应的地区信息,需要数据库。
2)根据第三方提供的API查询获取地区信息。

第一种方法,参见文本《通过纯真IP数据库获取IP地址对应的地区信息》,这种方法的维护代价较高,而且对自己的服务器有一定的压力。

随着技术的开放,第三方已经逐渐免费开放相应的API。经过测试,目前网易和新浪提供的较为稳定易用。

1)新浪IP地址查询API接口

新浪的IP地址查询接口:

http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=IP地址

测试用例:

http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=115.156.238.114

返回以下信息:

  1. var remote_ip_info = {"ret":1,"start":"115.156.128.0","end":"115.156.255.255","country":"\u4e2d\u56fd","province":"\u6e56\u5317","city":"\u6b66\u6c49","district":"","isp":"\u6559\u80b2\u7f51","type":"\u5b66\u6821","desc":"\u534e\u4e2d\u79d1\u6280\u5927\u5b66\u4e1c\u6821\u533a"};

文字经过utf-8编码,分别对应不同的信息。
可以通过javascript跨域直接调用,如(使用jquery):

  1. $.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip='+ip, function(_result){
  2. if (remote_ip_info.ret == '1'){
  3. alert('IP 详细信息:', 'IP:'+ip+'<BR>国家:'+remote_ip_info.country+'<BR>省份:'+remote_ip_info.province+'<BR>城市:'+remote_ip_info.city+'<BR>区:'+remote_ip_info.district+'<BR>ISP:'+remote_ip_info.isp+'<BR>类型:'+remote_ip_info.type+'<BR>其他:'+remote_ip_info.desc);
  4. } else {
  5. alert('错误', '没有找到匹配的 IP 地址信息!');
  6. }

2)网易有道IP地址API接口

查询IP地址:

http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址

举例:

http://www.youdao.com/smartresult-xml/search.s?type=ip&q=115.156.238.114

返回xml文本信息:

  1. <?xml version="1.0" encoding="gbk"?>
  2. <smartresult>
  3. <product type="ip">
  4. <ip>115.156.238.114</ip>
  5. <location>湖北省武汉市 教育网</location>
  6. </product>
  7. </smartresult>

3)淘宝IP地址库API接口

1. 请求接口(GET):

http://ip.taobao.com/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:失败。

访问限制:为了保障服务正常运行,每个用户的访问频率需小于10qps。
详细请参看API主页:http://ip.taobao.com/

4)太平洋IP地址库API接口

http://whois.pconline.com.cn/?ip=[ip地址字符串]

调用方法非常丰富,提供多种JS嵌入调用。

另外,还有Google,搜狐,腾讯等均提供相应接口,请参看相关资料,这里不再赘述。

新浪网易淘宝等IP地区信息查询开放API接口调用方法的更多相关文章

  1. 使用python调用淘宝的ip地址库查询接口结合zabbix判断dnspod域名解析是否正确

    #encoding:utf-8 import socket import requests import json ''' 使用python结合zabbix判断dnspod域名解析是否正确 服务器分国 ...

  2. 淘宝免费ip地址查询导致服务堵死的坑

    1.业务中因为想根据用户ip来做一些友好的提示,所以在网上找了个免费的ip查询地址 http://ip.taobao.com/service/getIpInfo.php?ip= 虽然说淘宝的这个地址会 ...

  3. 摘自淘宝的js地区组件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. python:爬虫获取淘宝/天猫的商品信息

    [需求]输入关键字,如书包,可以搜索出对应商品的信息,包括:商品标题.商品链接.价格范围:且最终的商品信息需要符合:包邮.价格差不会超过某数值 #coding=utf-8 ""&q ...

  5. Python 002- 爬虫爬取淘宝上耳机的信息

    参照:https://mp.weixin.qq.com/s/gwzym3Za-qQAiEnVP2eYjQ 一般看源码就可以解决问题啦 #-*- coding:utf-8 -*- import re i ...

  6. Python爬虫之一 PySpider 抓取淘宝MM的个人信息和图片

    ySpider 是一个非常方便并且功能强大的爬虫框架,支持多线程爬取.JS动态解析,提供了可操作界面.出错重试.定时爬取等等的功能,使用非常人性化. 本篇通过做一个PySpider 项目,来理解 Py ...

  7. PHP利用纯真IP数据库在本地实现IP地址信息查询

    https://blog.csdn.net/myweishanli/article/details/45098693 准备工作: 建议本地IP地址数据库,请到http://www.cz88.net/这 ...

  8. 用户Ip地址和百度地图api接口获取用户地理位置(经纬度坐标,城市)

    <?php   //获取用户ip(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获取127.0.0.1) function getip(){     if(!empty($_SERVE ...

  9. 淘宝的ip地址库

    1. 请求接口(GET): http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 响应信息: (json格式的)国家 .省(自治区或直辖市 ...

随机推荐

  1. Moqui之时间转换

    <script><![CDATA[ if (fromDate == null && thruDate == null && year &&am ...

  2. Grovvy之解析XML文件

    假设现有customer.xml 文件内容如下: <?xml version="1.0" ?> <customers> <corporate> ...

  3. metaspolit 基础

    在kali中使用metasploit,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录了.这一点比bt5要方便很多,所以现在 ...

  4. Daily Scrum – 1/18

    Meeting Minutes 完成了User Course, 与 Tips 的设计; 修复了一系列Bug; 完成了夜间模式: Burndown Progress part 组员 今日工作 Time ...

  5. Ibatis学习总结6--使用 SQL Map API 编程

    SQL Map API 力求简洁.它为程序员提供 4 种功能:配置一个 SQL Map,执行 SQL update操作,执行查询语句以取得一个对象,以及执行查询语句以取得一个对象的 List. 配置  ...

  6. MVC2 Area实现网站多级目录

    Areas是ASP.NET Mvc 2.0版本中引入的众多新特性之一,它可以帮你把一个较大型的Web项目分成若干组成部分,即Area.实现Area的功能可以有两个组织形式: 在1个ASP.NET Mv ...

  7. [转]Oracle中存储过程和函数的区别

    原文地址:http://blog.csdn.net/tender001/article/details/8066203 存储过程和函数: 例子: //创建过程 create or replace pr ...

  8. SEO 相关知识

    传统SEO 观念 换独立服务器 加硬件 减少http请求,压缩网页体积 css 放页面顶部,js 放页面底部 一个中等规模网站的架构 技术角度 切换不同的 User-agent Chrome 的 Ne ...

  9. note.js之 Mongodb在Nodejs上的配置及session会话机制的实现

    上篇我们使用nodejs实现了一个express4的网站构建配置,但一个有面的网站怎么可以缺少一个数据库呢.现在较为流行的就是使用MONGODB来作为nodejs网站引用的数据库,可能它与nodejs ...

  10. codevs1746 贪吃的九头龙

    [问题描述]传说中的九头龙是一种特别贪吃的动物.虽然名字叫“九头龙”,但这只是说它出生的时候有九个头,而在成长的过程中,它有时会长出很多的新头,头的总数会远大于九,当然也会有旧头因衰老而自己脱落.有一 ...