Задать вопрос

PHP. VK JSON. Как переподключиться, если timeout?

Доброго времени суток, коллеги!
Используется php file_get_contents() для получения JSON от VK. Но ответ получить удается через раз (то ли ограничения на IP моего сервера, то ли загруженность VK API).
PHP Warning: file_get_contents(vk.com/...): failed to open stream: Connection timed out in

Суть вопроса: допустим, ВК не выдал никаких данных в течении 2-3 сек, как заново переподключиться до тех пор, пока он не выдаст JSON?
Если для этого не подойдет file_get_contents то может быть использовать curl(правда я совсем его не знаю)?
Спасибо заранее :)
  • Вопрос задан
  • 977 просмотров
Подписаться 2 Оценить Комментировать
Решение пользователя Vitaliy Orlov К ответам на вопрос (3)
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
$ctx = stream_context_create(['http'=>['timeout'=>3]]); // таймаут в секундах
$maxAttempts = 2;  // макс кол-во попыток
$attempt = 0; // тут будет храниться кол-во совершенных попыток 
while(!($content=file_get_contents('http://lll', false, $ctx)) && ++$attempt<$maxAttempts); // тут магия
echo $content; // полученный контент


или как написали выше curl, мануалов по нему море в гугле
Ответ написан