一种做法是可以从网高下载一个IP地址数据库,然后自己写查询代码获取对应关系。这种做法好处是,数据都在本地,查询速率一定可以担保。但有个问题是,IP地址本身没有一个官方统一的库,都是由各个网络者进行掩护的,很难担保这个中所有的信息都是准确的。而且IP地址对应的地理位置有可能是会发生变革的,有可能这个IP本日还是北京的,来日诰日就跑到河北去了。这里面涉及到网络运营商的调度。如果是IP地址库的话,一定不会更新很及时,这样就会导致信息涌现偏差。
比较得当的做法是,通过调用网上的IP地理位置查询接口来完成这个功能。网上有很多供应收费接口做事。收费接口的好处是数据准确度会比较高,数据也会定期进行掩护更新,可以返回除地理位置外更详细的信息。但是收费接口一样平常会有个比较繁芜的申请流程,须要创建账号申请key,然后按照利用频次支付用度,如果是小站的话,比较折腾也比较费钱,不推举利用。那么有没有既好用又免费的接口呢?答案当时是有的,下面为您推举两个免费的IP查询地理位置接口。
淘宝的免费接口

调用方法:http://ip.taobao.com/service/getIpInfo.php?ip={ip地址}
例如:http://ip.taobao.com/service/getIpInfo.php?ip=220.181.16.0
返回的格式是json格式,内容如下:
新浪的免费接口
调用方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip={ip地址}
例如:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=220.181.16.0
返回的格式是json格式,内容如下:
剩下的事便是把json格式的数据读取出来显示了,是不是很大略。而且淘宝和新浪他们一定有一套ip数据定期掩护的机制,基本上数据也是比较准确的。如果没有特殊哀求,这两个免费接口也足够可以利用了。但毕竟是免费的,不担保这两个接口未来会一贯有效,以是且用且珍惜。