分享下用curl获取指定IP下所有信息的api代码。
有关curl的相关内容,可以参考以下文章:
php curl上传文件的简单例子
php curl post的简单示例
php curl应用实例分析
php curl用法的实例代码
php使用curl判断远程文件是否存在的代码
php使用curl伪造IP来源的代码
php curl 学习总结
先充充电,然后看下面的代码。
代码如下:
<?php
/**
* curl取指定IP信息的API代码
* edit by www.jb200.com
*/
function getIpInfo($ip,$timeout=15) {
if(!function_exists('curl_init') or !function_exists('simplexml_load_string')) return false;
$ch = curl_init("http://www.jb200.com/ip_query2.php?ip={$ip}&timezone=true");
$options = array(
CURLOPT_RETURNTRANSFER => true,
);
curl_setopt_array($ch,$options);
$res = curl_exec($ch);
curl_close($ch);
if($xml = simplexml_load_string($res)) {
$dt = array();
foreach ($xml->Location->children() as $key=>$item) {
$dt[$key] = strtolower($item);
}
return $dt;
} else {
return false;
}
}
$current_Ip_Info = getIpInfo('61.164.140.55');
var_dump($current_Ip_Info);
/*
返回内容:
array(13) {
["Ip"]=>
string(13) "61.164.140.55"
["Status"]=>
string(2) "ok"
["CountryCode"]=>
string(2) "cn"
["CountryName"]=>
string(5) "china"
["RegionCode"]=>
string(2) "02"
["RegionName"]=>
string(8) "zhejiang"
["City"]=>
string(5) "ruian"
["ZipPostalCode"]=>
string(0) ""
["Latitude"]=>
string(7) "27.7814"
["Longitude"]=>
string(7) "120.628"
["TimezoneName"]=>
string(14) "asia/chongqing"
["Gmtoffset"]=>
string(5) "28800"
["Isdst"]=>
string(1) "0"
}
*/
?>