淘寶公司提供了一個很好用的IP地理信息查詢接口。
在這裡:http://ip.taobao.com/
TaobaoIPQuery2這個類將極大的簡化相關的信息查詢。
類 TaobaoIPQuery2 文件:
<? = 'http://ip.taobao.com/service/getIpInfo.php' getIPInfo( = ( ( === 0 ('IP address error', 5 =( = self::queryIPInfo( self::parseJSON( queryIPInfo( = (('ip'=> = = CURLOPT_URL => ('%s?%s', self::, ), CURLOPT_RETURNTRANSFER => , CURLOPT_AUTOREFERER => , CURLOPT_FOLLOWLOCATION => , CURLOPT_HEADER => , CURLOPT_TIMEOUT => 3.0, curl_setopt_array(, = curl_exec( curl_close( parseJSON( = json_decode (, ( === ( ((, '5.3.0', '>=' = ((self::[ (self::[], 5 ('JSON parse error', 5 = JSON_ERROR_NONE=>'No error has occurred', JSON_ERROR_DEPTH=>'The maximum stack depth has been exceeded', JSON_ERROR_CTRL_CHAR=>'Control character error, possibly incorrectly encoded', JSON_ERROR_STATE_MISMATCH=>'Invalid or malformed JSON', JSON_ERROR_SYNTAX=>'Syntax error', JSON_ERROR_UTF8=>'Malformed UTF-8 characters, possibly incorrectly encoded', }
TaobaoIPQuery2.Class.php:
<? = 'http://ip.taobao.com/service/getIpInfo.php' getIPInfo( = ( ( === 0 ('IP address error', 5 =( = self::queryIPInfo( self::parseJSON( queryIPInfo( = (('ip'=> = = CURLOPT_URL => ('%s?%s', self::, ), CURLOPT_RETURNTRANSFER => , CURLOPT_AUTOREFERER => , CURLOPT_FOLLOWLOCATION => , CURLOPT_HEADER => , CURLOPT_TIMEOUT => 3.0, curl_setopt_array(, = curl_exec( curl_close( parseJSON( = json_decode (, ( === ( ((, '5.3.0', '>=' = ((self::[ (self::[], 5 ('JSON parse error', 5 = JSON_ERROR_NONE=>'No error has occurred', JSON_ERROR_DEPTH=>'The maximum stack depth has been exceeded', JSON_ERROR_CTRL_CHAR=>'Control character error, possibly incorrectly encoded', JSON_ERROR_STATE_MISMATCH=>'Invalid or malformed JSON', JSON_ERROR_SYNTAX=>'Syntax error', JSON_ERROR_UTF8=>'Malformed UTF-8 characters, possibly incorrectly encoded', }
調用:
= ["REMOTE_ADDR" = taobaoIPQuery( = -> = -> = ->get_city();
另外新浪也提供接口:http://ipapi.sinaapp.com/