Метод getInfo класса ClientResponse
Метод getInfo класса ClientResponse возвращает массив с информацией о запросе, который был выполнен через HttpClient. В этом массиве содержатся такие данные, как HTTP-статус, заголовки ответа, время выполнения запроса, итоговый URL, а также служебная информация о процессе передачи данных. Метод не принимает параметров и доступен после завершения запроса.
Синтаксис
public function getInfo(): array
Пример
Давайте выполним GET-запрос и выведем информацию о нём:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsHttpClientHttpClientInterface;
class ClientController extends AbstractController
{
public function index(HttpClientInterface $client): Response
{
$res = $client->request('GET', 'https://example.com');
$info = $res->getInfo();
return new Response($info['http_code']);
}
}
?>
Результат выполнения кода:
200
Пример
Давайте выведем итоговый URL запроса и время его выполнения:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsHttpClientHttpClientInterface;
class ClientController extends AbstractController
{
public function index(HttpClientInterface $client): Response
{
$res = $client->request('GET', 'https://example.com');
$info = $res->getInfo();
return new Response($info['url']);
}
}
?>
Результат выполнения кода:
"https://example.com"
Пример
Давайте получим заголовки ответа из массива информации:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsHttpClientHttpClientInterface;
class ClientController extends AbstractController
{
public function index(HttpClientInterface $client): Response
{
$res = $client->request('GET', 'https://example.com');
$info = $res->getInfo();
return new Response(implode(', ', $info['response_headers']));
}
}
?>
Результат выполнения кода:
"content-type: text/html; charset=UTF-8, ..."
Смотрите также
-
класс
ClientResponse,
который представляет ответ HTTP-клиента -
метод
getStatusCode,
который возвращает HTTP-статус ответа -
метод
getHeaders,
который возвращает заголовки ответа -
метод
getContent,
который возвращает тело ответа