前言
今天有一个获取客户端地理位置的需求,傻不啦叽的折腾了很久,终于在大神的帮助下解决了,记录一下解决方案。
搜狐API
sohu的这个API,提供服务很多年了,应该会比较稳定。
今天也试了几个其他的,都没有通,后面会把其他的尝试的api附上。
搜狐IP地址查询接口(默认GBK):
http://pv.sohu.com/cityjson搜狐IP地址查询接口(可设置编码):
http://pv.sohu.com/cityjson?ie=utf-8
调用方式
类似JSONP调用
接口返回的是一个JS对象:
var returnCitySN = {"cip": "119.130.228.18", "cid": "440100", "cname": "广东省广州市"};
如截图:
从截图上可以看出,直接返回了一个JS对象,赋值给了returnCitySN这个全局对象。
具体代码
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script language="JavaScript"> var clientCname = returnCitySN["cname"]; alert(clientCname);</script>
其他接口(都不行,应该是不稳定)
* 新浪
http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=123.125.114.144
Get
* 淘宝
http://ip.taobao.com/service/getIpInfo.php?ip=123.125.114.144
Get
* ip138
http://www.ip138.com/ips138.asp?ip=123.125.114.144
结语
还是有很多知识自己没有接触过,今天傻不啦叽的在服务器端获取ip,再通过ip获取对应的城市。虽然成功了,但是结果一直不对,想想才明白,服务器调用和客户端调用是不一样的,不知道当时的脑洞是什么样的。
加油吧,自己。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。