Простой канал Twitter XML работает только 20% времени - PullRequest
0 голосов
/ 08 декабря 2011

Раньше работал с фидами XML, но этот, похоже, вызывает ошибку.

У меня нет опыта, поэтому, пожалуйста, будьте осторожны.

Следующий код должен загружаться в канал Twitter с использованием его XML-адреса.И это делает 20% времени.В остальное время возвращается по ошибке.Я понятия не имею, почему.

<?php 
   if(simplexml_load_file('https://api.twitter.com/1/statuses/user_timeline/quitecheesedoff.xml?count=6')) {
      $xml = simplexml_load_file('https://api.twitter.com/1/statuses/user_timeline/quitecheesedoff.xml?count=6');
      $tweets = $xml->xpath("/statuses/status");

      foreach($tweets as $tweet) {
         $text = $tweet->text;
         $date = $tweet->created_at;
         echo '<div class="tweet"><b>' . $text . '</b>' . $date . '</div>';
      }
   }
   else echo 'error';
?>

Ошибка

Предупреждение: simplexml_load_file (https://api.twitter.com/1/statuses/user_timeline/quitecheesedoff.xml?count=6) [function.simplexml-load-file]: не удалось открыть поток: сбой HTTP-запроса! HTTP / 1.0 400 неверный запрос в

1 Ответ

2 голосов
/ 08 декабря 2011

Вы, вероятно, делаете слишком много запросов, вызывая ежечасный лимит запросов 150 - который становится равным 75 с вашим кодом.

Я бы рекомендовал вместо этого использовать

if (($xml = simplexml_load_file('...')) !== FALSE) {

.Ваша строка $xml = ... больше не требуется.

Обновление :

Ошибка 400 не всегда фактически используется для неверных запросов в Twitter.Поскольку это работает в 20% случаев, я бы сказал, что можно с уверенностью сказать, что есть что-то еще.

Раньше 400 также сообщалось об ошибке, когда внутренние прокси-серверы Twitter совершали ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...