& quot; Ошибка получения Curl: время поиска имени outArray & quot; для geonames (findNearbyPostalCodes) API с использованием WordPress

Мне нужно, чтобы получить все рядом почтовые индексы с Geonames API. Я использую curl для ответа API. Прямо сейчас, иногда я получаю ответ от API, а иногда получаю ошибку Curl: поиск имени timed outArray.

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);
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]