Для профиля пользователя я запрашиваю API поиска в Twitter через:
curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search.rss?q=".urlencode($username."+-badword")."");
, который работал отлично в последние недели.
Через несколько дней API Twitter получает много запросов от моего сайта, а иногда и отвечает "406 Not Acceptable"
полное сообщение об ошибке:
array (18) {[0] => string (27) "HTTP / 1.1 406 Недопустимо" [1] => string (35) "Дата: пт, 21 января 2011 12:31:06 GMT" [ 2] => string (10) "Сервер: привет" [3] => string (26) "Статус: 406 Недопустимо" [4] => string (15) "Retry-After: 10" [5] => string (30) "X-Served-From: slc1-aah-25-sr1" [6] => string (38) "Content-Type: text / html; charset = utf-8" [7] => string ( 45) "X-Served-By: slc1-acm-32-sr1.prod.twitter.com" [8] => string (55) "Cache-Control: max-age = 15, необходимо переоценить, max-age = 300 "[9] => string (38)" Истекает: пятница, 21 января 2011 12:36:06 GMT "[10] => string (21)" Vary: Accept-Encoding "[11] => string ( 17) "Длина содержимого: 1" [12] => string (21) "X-Varnish: 1897557299" [13] => string (6) "Age: 0" [14] => string (16) "Via : 1.1 лак "[15] => string (45)" X-Cache-Svr: slc1-acm-32-sr1.prod.twitter.com "[16] => string (13)" X-Cache: MISS " [17] => string (17) "Соединение: закрыть"}
Я не понимаю в «Доку Твиттере» об этом:
http://apiwiki.twitter.com/w/page/22554652/HTTP-Response-Codes-and-Errors говорит: «406 Недопустимо: возвращается API поиска, если в запросе указан неверный формат».
потому что, когда я повторяюсь через несколько секунд, запрос снова работает нормально.
У кого есть идеи как это исправить?