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

Метод getHeaders класса ClientResponse

Метод getHeaders класса ClientResponse возвращает все заголовки HTTP-ответа, полученного через HTTP-клиент Symfony. Метод не принимает параметров и возвращает ассоциативный массив, где ключами являются имена заголовков, а значениями - массивы значений этих заголовков.

Метод удобно использовать после выполнения запроса через request, чтобы прочитать служебную информацию из ответа: тип содержимого, кэширование, серверные заголовки и другие метаданные.

Синтаксис

public function getHeaders(): array

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpClientHttpClient; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/client', name: 'article_client')] public function index(): Response { $client = HttpClient::create(); $res = $client->request('GET', 'https://example.com'); $headers = $res->getHeaders(); return new Response(json_encode($headers)); } } ?>

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

{"content-type":["text/html; charset=UTF-8"],"server":["nginx"],"date":["Mon, 01 Jan 2026 00:00:00 GMT"]}

Пример

Давайте прочитаем конкретный заголовок content-type из полученного ответа:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpClientHttpClient; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/client/content-type', name: 'article_client_type')] public function index(): Response { $client = HttpClient::create(); $res = $client->request('GET', 'https://example.com'); $headers = $res->getHeaders(); $type = $headers['content-type'][0] ?? 'unknown'; return new Response($type); } } ?>

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

"text/html; charset=UTF-8"

Пример

Давайте переберём все заголовки в цикле и выведем их в формате 'name: value':

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpClientHttpClient; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/client/headers', name: 'article_client_headers')] public function index(): Response { $client = HttpClient::create(); $res = $client->request('GET', 'https://example.com'); $out = ''; foreach ($res->getHeaders() as $name => $values) { $out .= $name . ': ' . implode(', ', $values) . "\n"; } return new Response($out); } } ?>

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

"content-type: text/html; charset=UTF-8\nserver: nginx\ndate: Mon, 01 Jan 2026 00:00:00 GMT"

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

  • класс ClientResponse,
    который представляет ответ HTTP-клиента
  • метод getStatusCode,
    который возвращает код состояния ответа
  • метод getContent,
    который возвращает тело ответа
  • метод toArray,
    который декодирует JSON-тело в массив
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить