新技术论坛
搜索
查看: 1195|回复: 0
打印 上一主题 下一主题

[PHP] PHP利用新浪和百度ip库API获取IP地址所在的地理位置

[复制链接]
  • TA的每日心情
    慵懒
    2017-1-5 23:52
  • 签到天数: 183 天

    连续签到: 2 天

    [LV.7]常住居民III

    扫一扫,手机访问本帖
    楼主
    跳转到指定楼层
    发表于 2016-4-30 23:33:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    推荐下面两个接口,写的两个小函数推荐下面两个接口,写的两个小函数
    新浪ip库接口,经测试速度快,稳定
    // 根据IP查询用户地理位置,新浪API
    function getCity($ip){    if(!empty($ip)){        $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip;        $ip = json_decode(file_get_contents($url));        if ((string)$ip->ret == 0) {            return false;        }        $data = array(            'country'=>$ip->country,            'region'=>$ip->province,            'city'=>$ip->city,            'isp'=>$ip->isp,        );        return $data;    }}


    淘宝ip库接口,经测试 查询速度较慢,有时候502错误 但数据准确,查询的较信息详细 应该是用的人多吧
    // 根据IP查询用户地理位置,淘宝API


    function getCityByTaoBao($ip){    $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;    $ip=json_decode(file_get_contents($url));    if((string)$ip->code=='1'){        return false;    }    $data = (array)$ip->data;    return $data;}
    下面这个是经过我使用改良了的综合版
    /** * 根据IP查询用户地理位置,默认淘宝API优先级为1. * 发现淘宝接口不稳定,则自动改为新浪接口. * 设置了超时为5秒来解决连接超时问题. */

    function getCityByTaoBao($ip){    // ip 接口    $url = "http://ip.taobao.com/service/getIpInfo.php?ip=" . $ip;    $urls = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=" . $ip;    // 设置请求超时时间.    $context = stream_context_create(array('http' => array('timeout' => 5)));    if (!empty($ip = json_decode(@file_get_contents($url, 0, $context)))) {        if ((string)$ip->code == '1') {            return false;        }        $data = (array)$ip->data;    } else {        $ip = json_decode(@file_get_contents($urls));        if ((string)$ip->ret == 0) {            return false;        }        $data = array(            'country' => $ip->country,            'region' => $ip->province,            'city' => $ip->city,            'isp' => $ip->isp,        );    }    return $data;}

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    手机版|Archiver|开发者俱乐部 ( ICP/ISP证:辽B-2-4-20110106号 IDC证:辽B-1-2-20070003号 )

    GMT+8, 2024-12-23 05:28 , Processed in 0.102991 second(s), 19 queries .

    X+ Open Developer Network (xodn.com)

    © 2009-2017 沈阳讯网网络科技有限公司

    快速回复 返回顶部 返回列表