之前一直用的新浪的接口http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
可是最近发现失效了。
然后我网上找了下资料:
http://ip.taobao.com/service/getIpInfo.php?ip=122.97.152.209
http://api.map.baidu.com/location/ip?ak=iTrwV0ddxeFT6QUziPQh2wgGofxmWkmg&ip=122.97.152.209
都不理想,只能到省市,无法到县一级。 由于不想使用数据库,有什么其他接口可以直接得到ip并且精确到县一级的么?
如果有这样的接口,那么需要这么几个条件:和政府/公安有很深的合作,不断投入精力维护时效性,非常庞大的数据库,愿意免费提供给公众。
有这样的接口么?起码不但我不知道,而且我认为csdn也不知道,否则为什么csdn网站需要提示我给它权限来获取我的地点呢?我想csdn有强烈地动机去获取这样的接口。
不过也许有一些折衷的办法,比如说像csdn那样获取本机设备的地址(无论是agps还是wifi辅助定位),或者提供给你的用户一个精确到县,但是准确度一般的解析。
ip定位是不太准确的,要想获得准确的地理位置,还是应该通过经纬度来获得。通过经纬度获得具体行政地理位置的接口,有百度地图、高德地图,这些有请求次数限制,免费的有openstreetmap。
你的分析不对。之前用的新浪的那个接口用了几年了的,就在几天前才失效的。另外http://geoip.com/这个可以获取到县级,但是速度太慢,而且返回的都是拼音。
这个定位是根据来访ip进行的吗?现成的免费的接口应该很难找了。
http://www.cz88.net/,纯真的ip定位库不是很精准,好在是免费并提供更新,他的数据解析也有很多现成的样例程序。
https://www.ipip.net/,它的数据需要缴费使用,比纯真准确,尤其国外,数据解析也有很多样例程序。