JS获取客户端ip以及城市信息【搜狐】

4,165 阅读1分钟

前言

今天有一个获取客户端地理位置的需求,傻不啦叽的折腾了很久,终于在大神的帮助下解决了,记录一下解决方案。

搜狐API

sohu的这个API,提供服务很多年了,应该会比较稳定。 今天也试了几个其他的,都没有通,后面会把其他的尝试的api附上。

搜狐IP地址查询接口(默认GBK):pv.sohu.com/cityjson

搜狐IP地址查询接口(可设置编码):pv.sohu.com/cityjson?ie…

调用方式

类似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>

其他接口(都不行,应该是不稳定)

  • 新浪

int.dpool.sina.com.cn/iplookup/ip… Get

  • 淘宝

ip.taobao.com/service/get… Get

  • ip138

www.ip138.com/ips138.asp?…

结语

还是有很多知识自己没有接触过,今天傻不啦叽的在服务器端获取ip,再通过ip获取对应的城市。虽然成功了,但是结果一直不对,想想才明白,服务器调用和客户端调用是不一样的,不知道当时的脑洞是什么样的。

加油吧,自己。

自律使人自由