使用新浪IP库获取IP详细地址

<?php
class Tool{
    /**
     * 获取IP的归属地( 新浪IP库 )
     *
     * @param $ip String        IP地址:112.65.102.16
     * @return Array
     */
    static public function getIpCity($ip)
    {
        $ip = preg_replace("/\s/","",preg_replace("/\r\n/","",$ip));
        $link = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=".$ip."&t=".time();
        $ipJson = self::httpCurl($link);
        preg_match("/\"country\":\"(.*)\"/Uis",$ipJson, $match1);
        preg_match("/\"province\":\"(.*)\"/Uis",$ipJson, $match2);
        preg_match("/\"city\":\"(.*)\"/Uis",$ipJson, $match3);
        return array(
            ‘country‘=>self::ucode2zh($match1[1]),  // 国家
            ‘province‘=>self::ucode2zh($match2[1]), // 省
            ‘city‘=>self::ucode2zh($match3[1])      // 城市
        );
    }

    /**
     * Curl方式获取信息
     */
    static public function httpCurl($url)
    {
        $curl_handle = curl_init();
        curl_setopt($curl_handle, CURLOPT_URL, $url);
        curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);
        curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($curl_handle, CURLOPT_FAILONERROR,1);
        $file_content = curl_exec($curl_handle);
        curl_close($curl_handle);
        return $file_content;
    }

    /**
     * 将unicode编码转化为中文,转化失败返回原字符串
     *
     * @param $code String      unicode编码
     * @return String
     */
    static public function ucode2zh($code)
    {
        $temp = explode(‘\u‘,$code);
        $rslt = array();
        array_shift($temp);
        foreach($temp as $k => $v)
        {
            $v = hexdec($v);
            $rslt[] = ‘&#‘ . $v . ‘;‘;
        }

        $r = implode(‘‘,$rslt);
        return empty($r) ? $code : $r;
    }
}

获取IP地址类使用实例

<?php
$ipStr = Tool::getIpCity(‘112.65.102.16‘);
print_r($ipStr);

# 返回结果
Array ( [country] => 中国 [province] => 上海 [city] => 上海 )
时间: 2024-08-24 13:46:05

使用新浪IP库获取IP详细地址的相关文章

php利用淘宝IP库获取用户ip地理位置

利用淘宝IP库获取用户ip地理位置 我们查ip的时候都是利用ip138查询的,不过那个有时候是不准确的,还不如自己引用淘宝的ip库来查询,这样准确度还高一些.不多说了,介绍一下: 淘宝IP地址库 淘宝公布了他们的IP库http://ip.taobao.com/,还有REST API接口,不过每个用户的访问频率需小于10qps,访问方    式:http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串],返回内容以json格式的.具有IP查询,IP

Python之通过IP地址库获取IP地理信息

利用第三方的IP地址库,各个公司可以根据自己的业务情况打造自己的IP地址采集分析系统.例如游戏公司可以采集玩家地区信息,进行有针对性的运营策略,还可能帮助分析玩家网络故障分布等等. #!/usr/bin/env python # -*- coding:utf-8 -*- import requests import json import argparse import sys def get_ip_info(ip): # 淘宝IP地址库 url = "http://ip.taobao.com/

脚本设置ip&amp;自动获取ip

设置ip netsh interface ip set address "本地连接 2" static 192.168.1.110 255.255.255.0 192.168.1.1 1 netsh interface ip add dns name="本地连接 2" addr=172.168.0.28 自动获取 netsh interface ip set dns name = "本地连接 2" static addr = none netsh

获取公网ip,获取用户城市地址

<?php class GetIp { public static $api = 'http://ip.taobao.com/service/getIpInfo.php?ip='; public static function getAddr() { $ip = $_SERVER['REMOTE_ADDR']; $url = self::$api . $ip; $json = self::curl($url); return $json; } public static function get

python 利用淘宝IP库 查询IP归属地

#coding:utf-8 from django.test import TestCase import json import urllib ip = "114.114.114.114" url = "http://ip.taobao.com/service/getIpInfo.php?ip="+ ip #返回数据 jsondata = json.loads(urllib.urlopen(url).read()) print jsondata #省份 regio

【php】利用新浪api接口与php获取远程数据的方法,获取IP地址,并获取相应的IP归属地

本文与<[Servlet]Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地>(点击打开链接)为姊妹篇,只是后端编程语言换成了php. 做出同样的效果,打开页面,得到客户端的ip,并获取利用新浪api接口获取此ip的归属地. 可以看到,在IE6也是相当正常的. 目录结构如下,非常简单,同样就两个文件,其实如果你愿意,写成一个php文件也可以,但是显示层和逻辑业务层还是不混在一起为好吧? 唯一值得注意的是,这两个文件打死也不能一个叫ipGet.php,ipGet.html

【Servlet】Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地

这里之所以调用新浪api接口,主要是可以避免我们在本地存放一个ip归属地库, 同时,我们在本地要存放用户的ip,仅仅存放其ip就可以了,无须存放其归属地,节省一个字段. 如下图,写一个带有获取客户端IP地址的网页: 首先,在Eclipse的目录结构如下: 里面除了servlet的支持包之外,就一个.jsp与一个.java. 其中这里用到Servlet3.0,因此web.xml没有任何东西: <?xml version="1.0" encoding="UTF-8"

js获取ip地址

js是不可以直接获取ip通过调用API 的调用方法 通过回调查看ip 腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress 新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=219.242.98.111 搜狐IP地址查询接口(

转载纯真ip库

http://blog.csdn.net/clin003/archive/2007/08/14/1743157.aspx 利用 QQWry.Dat 实现 IP 地址高效检索(PHP) 根据 LumaQQ 开发者文档中的纯真 IP 数据库格式详解,我编写了一个 PHP 的查询 IP 所在地区信息的类.在编写过程中发现纯真 IP 数据库格式详解中关于记录区的描述不是很全面,不过出入也不是很大,所以我没必要再写一份纯真 IP 数据库的格式说明了,大家感兴趣的话,读一读下面的代码应该就能看出来了.代码中