К содержимому

Документация

PHP SDK: Response: ответ сайта

Переменная $response ниже получается через $ctx->http()->get($url). У ответа есть методы и доступные только для чтения свойства.

Общий справочник SDK

Методы

Свойства ответа

Свойство Смысл
status HTTP-код, например 200 или 404
body Тело ответа строкой
finalUrl URL после перенаправлений
headers Заголовки ответа
fromCache Был ли ответ взят из кэша
durationMs Длительность в миллисекундах
snapshotUuid UUID снимка или null

ok

ok(): bool

Проверить, что HTTP-статус находится в диапазоне 200–299 и ответ не распознан как страница проверки CAPTCHA. Одна только страница с HTTP 200 ещё не означает, что данные доступны.

if (!$response->ok()) { $ctx->abort('Источник ответил HTTP ' . $response->status); }

Результат и особенности. Возвращает bool. Это проверка статуса, а не полноты данных.

dom

dom(): Dom

Разобрать тело ответа как HTML с учётом конечного URL после перенаправлений.

$dom = $response->dom();
$title = $dom->text('h1');

Результат и особенности. Возвращает Dom. Относительные ссылки будут разрешаться относительно finalUrl.

json

json(): array

Разобрать тело ответа как JSON.

$data = $response->json();
$items = $data['items'] ?? [];

Результат и особенности. Возвращает массив. Ошибочный JSON вызывает JsonException. Корень должен быть объектом или массивом.

header

header(string $name): ?string

Получить заголовок ответа без учёта регистра имени.

$mime = $response->header('Content-Type');

Результат и особенности. Возвращает строку или null. При нескольких значениях берётся первое.