通过外部接口 根据ip获取城市名

3种接口

淘宝/百度/不知名/   推荐淘宝接口

ip自个去获取,下附带php 获取ip的示例

function getIP()
    {
        static $realip;
        if (isset($_SERVER)){
            if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
                $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
            } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
                $realip = $_SERVER["HTTP_CLIENT_IP"];
            } else {
                $realip = $_SERVER["REMOTE_ADDR"];
            }
        } else {
            if (getenv("HTTP_X_FORWARDED_FOR")){
                $realip = getenv("HTTP_X_FORWARDED_FOR");
            } else if (getenv("HTTP_CLIENT_IP")) {
                $realip = getenv("HTTP_CLIENT_IP");
            } else {
                $realip = getenv("REMOTE_ADDR");
            }
        }
    
    
        return $realip;
    }

 

 

1,淘宝接口

特点:调用简单,返回字符串,好使

体验:这就是我想要的,简单,方便

调用地址:http://ip.taobao.com/service/getIpInfo.php?ip=202.198.16.3        //更改ip即可

返回值:json字符串

截图如下

 

 

 2,百度接口

特点: json返回,清晰, 需注册获得key,支持经纬度定位

体验: 测试了几个ip,对国内的支持不错,国外的报了service error.不可靠

调用地址:http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=202.198.16.3&coor=bd09ll                //更改ip即可使用 ,具体参数下面有官网地址,自个查询

返回值:json字符串

官网地址:http://developer.baidu.com/map/ip-location-api.htm

截图如下:

 

 

 

 

3,不知名网点

特点 :基本能对全球ip进行定位获取地址,基于IP 地址库v2.0.  ,js调用

体验:不是很好,偏向于前端js的呈现,后台调用需要字符串解析 拼接

url地址:http://whois.pconline.com.cn/ipJson.jsp?callback=testJson&ip=            //加上需要查询的ip地址

返回值:需自己解析的字符串

截图如下

 

posted on 2013-10-25 16:40  叫我小洋  阅读(5422)  评论(0编辑  收藏  举报

导航