獲取Ip 的地域等信息接口-實例


今天項目要用到 查詢訪問網站用戶的IP 
然后網上查詢了 資料還很多 不過有些已經失效了 在這總結下 
騰訊,pconline 的API已經失效 不能使用 
淘寶的IP接口地址: http://ip.taobao.com/instructions.php 
騰訊的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=218.192.3.42 
搜狐IP地址查詢接口(默認GBK):http://pv.sohu.com/cityjson 
搜狐IP地址查詢接口(可設置編碼):http://pv.sohu.com/cityjson?ie=utf-8 
搜狐另外的IP地址查詢接口:http://txt.go.sohu.com/ip/soip 
這個上面大多都容易查到 
還有一個 API比較全面 
http://whois.pconline.com.cn 這個很強大 也比較詳細 
但是這個有問題 他JSON格式 屬於回調  本地運行可以 放到項目里面就報錯403 
最終我也沒有選擇這個來使用 

    /**
     * 獲取ip 接口
     * @access public 以淘寶的接口為實例
     */
    public function get_ip_info($ip) {
        $curl = curl_init(); //這是curl的handle
        //下面是設置curl參數
        $url = "http://ip.taobao.com/service/getIpInfo.php?ip=$ip";
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
        curl_setopt($curl, CURLOPT_HEADER, 0); //don't show header
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //相當關鍵,這句話是讓curl_exec($ch)返回的結果可以進行賦值給其他的變量進行,json的數據操作,如果沒有這句話,則curl返回的數據不可以進行人為的去操作(如json_decode等格式操作)
        curl_setopt($curl, CURLOPT_TIMEOUT, 2);
        //這個就是超時時間了
        $data = curl_exec($curl);
        return json_decode($data, true);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM