PHP SimpleXML приводит к Servererror 500 - PullRequest
0 голосов
/ 07 января 2012

Я просто хочу зачитать API-интерфейс Google Weather с этим кодом, но он возвращает 500. Есть идеи, почему?

<?php
 $url = "http://www.google.com/ig/api?weather=Moskva&hl=en";
 $xml = simplexml_load_string(utf8_encode(file_get_contents($url)));
 echo $xml->weather->current_conditions->temp_c->attributes()->data;
?>

Ответы [ 3 ]

2 голосов
/ 07 января 2012

Разделите строки и введите блок try / catch следующим образом:

try {
  $url = "http://www.google.com/ig/api?weather=Moskva&hl=en";
  $temp1 = file_get_contents($url);
  $temp2 = utf8_encode($temp1);
  $xml = simplexml_load_string($temp2);
  echo $xml->weather->current_conditions->temp_c->attributes()->data;
} catch (Exception $e) {
   echo 'Caught exception: ',  $e->getMessage(), "\n";
}

что происходит потом?

Обновлено

Ваш ответ был вызван IP-адресом, с которого вы пришли .... это был ответ:

http://www.google.com/sorry/?continue=http://www.google.com/ig/api%3Fweather%3DMoskva%26hl%3Den

ввод URL-адреса ответа в браузере дает следующее:

Наши системы обнаружили необычный трафик из вашей компьютерной сети. Эта страница проверяет, действительно ли вы отправляете запросы, и не робот Почему это произошло?

IP-адрес: 90.214.41.66 Время: 2012-01-06T21: 35: 24Z URL: http://www.google.com/ig/api?weather=Moskva&hl=en

Введите URL-адрес в браузере и заполните CAPTCHA - затем нужно отсортировать

0 голосов
/ 06 мая 2019

Это определенно может быть конфигурация.У нас есть два сервера, один локальный и один для разработки / размещения.Запуск только одной строки кода для получения данных RSS XML, он отлично работает на локальном компьютере, но дает 500 при подготовке.Это определенно проблема конфигурации сервера.

0 голосов
/ 07 января 2012

Проблема в вашей конфигурации PHP.

Я просто запускаю код и в результате получаю '2'.Страница ошибки 500.

...