РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
553 of 1392 menu

Метод timeout

Метод timeout применяется к HTTP-клиенту Laravel и устанавливает максимальное время ожидания ответа от удалённого сервера в секундах. Первым параметром передаётся количество секунд, в течение которых клиент будет ждать ответа. По умолчанию таймаут составляет 30 секунд.

Синтаксис

<?php use Illuminate\Support\Facades\Http; Http::timeout($seconds); ?>

Пример

Давайте выполним GET-запрос с таймаутом в 10 секунд:

<?php use Illuminate\Support\Facades\Http; $res = Http::timeout(10)->get('https://api.example.com/posts'); if ($res->successful()) { echo $res->body(); } else { echo 'Request failed'; } ?>

Результат выполнения кода:

"[{\"id\":1,\"title\":\"article 1\"},{\"id\":2,\"title\":\"article 2\"}]"

Пример

Давайте выполним POST-запрос с таймаутом в 5 секунд и передачей данных:

<?php use Illuminate\Support\Facades\Http; $data = ['name' => 'John', 'email' => 'john@example.com']; $res = Http::timeout(5)->post('https://api.example.com/users', $data); if ($res->successful()) { echo $res->json(); } else { echo 'Request timeout or failed'; } ?>

Результат выполнения кода:

"{\"id\":3,\"name\":\"John\",\"email\":\"john@example.com\"}"

Пример

Давайте выполним GET-запрос с таймаутом в 1 секунду и обработаем исключение при превышении времени:

<?php use Illuminate\Support\Facades\Http; try { $res = Http::timeout(1)->get('https://slow-api.example.com/data'); echo $res->body(); } catch (Exception $e) { echo 'Request timed out: ' . $e->getMessage(); } ?>

Результат выполнения кода:

"Request timed out: Connection timed out"

Пример

Давайте выполним запрос с использованием метода retry и таймаутом для повторных попыток:

<?php use Illuminate\Support\Facades\Http; $res = Http::timeout(3) ->retry(3, 1000) ->get('https://api.example.com/items'); if ($res->successful()) { echo $res->collect()->toArray(); } else { echo 'Failed after retries'; } ?>

Результат выполнения кода:

"[{\"id\":1,\"name\":\"item 1\"},{\"id\":2,\"name\":\"item 2\"}]"

Смотрите также

  • метод get,
    который выполняет GET-запрос к указанному URL
  • метод post,
    который выполняет POST-запрос с передачей данных
  • метод retry,
    который устанавливает количество повторных попыток при сбое
  • метод throw,
    который выбрасывает исключение при неудачном запросе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить