Php &引用;获取卷曲错误:名称查找超时超出数组“;对于使用wordpress的geonames(findNearbyPostalCodes)api
我需要用geonames api接近postalcodes。我正在使用curl for api响应。现在,有时我从api获得响应,有时得到curl错误:名称查找超时数组Php &引用;获取卷曲错误:名称查找超时超出数组“;对于使用wordpress的geonames(findNearbyPostalCodes)api,php,api,curl,geonames,Php,Api,Curl,Geonames,我需要用geonames api接近postalcodes。我正在使用curl for api响应。现在,有时我从api获得响应,有时得到curl错误:名称查找超时数组 function getResponse() { $xml = get_data('http://api.geonames.org/findNearbyPostalCodes?postalcode=73301&maxRows=100&username=demo'); $all_zip_code
function getResponse()
{
$xml = get_data('http://api.geonames.org/findNearbyPostalCodes?postalcode=73301&maxRows=100&username=demo');
$all_zip_codes = array_keys($xml);
print_r($all_zip_codes);}
/*用于从api获取响应的函数*/
function get_data($url) {
if(!function_exists('curl_init')) {
die ("Curl PHP package not installed\n");
}
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo '<br/> Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
else
{
echo 'Curl error: ' . curl_error($ch);
}
$refineArray = array();
$parseArray = json_decode(json_encode((array)simplexml_load_string($response)),1);
foreach($parseArray['code'] as $value) {
$refineArray[$value['postalcode']] = $value;
}
return($refineArray);
}
函数获取数据($url){
如果(!function_存在('curl_init')){
die(“未安装Curl PHP包\n”);
}
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch,CURLOPT_超时,15);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$response=curl\u exec($ch);
如果(!curl_errno($ch))
{
$info=curl\u getinfo($ch);
echo“
花了“$info['total_time']”秒向“$info['url]”发送请求;
}
其他的
{
回显“旋度误差:”。旋度误差($ch);
}
$refineArray=array();
$parseArray=json_解码(json_编码((数组)simplexml_加载_字符串($response)),1);
foreach($parseArray['code']作为$value){
$refineArray[$value['postalcode']]=$value;
}
返回($数组);
}