网站推广.NET

网站推广.NET

淘宝IP地址查询接口

来源:互联网

淘宝公司提供了一个很好用的IP地理信息查询接口。 在这里:http://ip.taobao.com/ TaobaoIPQuery2这个类将极大的简化相关的信息查询。 无 ?php/* Usage: * $IPInfo = TaobaoIPQuery2::getIPInfo('IPAddress'); */Class TaobaoIPQuery2{private static $_reques

淘宝公司提供了一个很好用的IP地理信息查询接口。
在这里:http://ip.taobao.com/
TaobaoIPQuery2这个类将极大的简化相关的信息查询。
<?php/* Usage: * $IPInfo = TaobaoIPQuery2::getIPInfo('IPAddress'); */Class TaobaoIPQuery2{private static $_requestURL = 'http://ip.taobao.com/service/getIpInfo.php';public static function getIPInfo($ip){$long = ip2long($ip);if($long === 0){throw new Exception('IP address error', 5);}$ip=long2ip($long);$IPInfo = self::queryIPInfo($ip);return self::parseJSON($IPInfo);}private static function queryIPInfo($ip){$query = http_build_query(array('ip'=>$ip));$ch = curl_init();$options = array(CURLOPT_URL => sprintf('%s?%s', self::$_requestURL, $query),CURLOPT_RETURNTRANSFER => true,CURLOPT_AUTOREFERER => false,CURLOPT_FOLLOWLOCATION => false,CURLOPT_HEADER => false,CURLOPT_TIMEOUT => 3.0,);curl_setopt_array($ch, $options);$content = curl_exec($ch);curl_close($ch);return $content;}private static function parseJSON($json){$O = json_decode ($json, true);if(false === is_null($O)){return $O;}if (version_compare(PHP_VERSION, '5.3.0', '>=')) {$errorCode = json_last_error();if(isset(self::$_JSONParseError[$errorCode])){throw new Exception(self::$_JSONParseError[$errorCode], 5);}}throw new Exception('JSON parse error', 5);}private static $_JSONParseError = array(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',);}
<?phpClass TaobaoIPQuery2{private static $_requestURL = 'http://ip.taobao.com/service/getIpInfo.php';public static function getIPInfo($ip){$long = ip2long($ip);if($long === 0){throw new Exception('IP address error', 5);}$ip=long2ip($long);$IPInfo = self::queryIPInfo($ip);return self::parseJSON($IPInfo);}private static function queryIPInfo($ip){$query = http_build_query(array('ip'=>$ip));$ch = curl_init();$options = array(CURLOPT_URL => sprintf('%s?%s', self::$_requestURL, $query),CURLOPT_RETURNTRANSFER => true,CURLOPT_AUTOREFERER => false,CURLOPT_FOLLOWLOCATION => false,CURLOPT_HEADER => false,CURLOPT_TIMEOUT => 3.0,);curl_setopt_array($ch, $options);$content = curl_exec($ch);curl_close($ch);return $content;}private static function parseJSON($json){$O = json_decode ($json, true);if(false === is_null($O)){return $O;}if (version_compare(PHP_VERSION, '5.3.0', '>=')) {$errorCode = json_last_error();if(isset(self::$_JSONParseError[$errorCode])){throw new Exception(self::$_JSONParseError[$errorCode], 5);}}throw new Exception('JSON parse error', 5);}private static $_JSONParseError = array(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',);}

标签: 淘宝ip地址查询

抱歉,评论功能暂时关闭!