Skip to content

Http клиент

Общая информация

Класс \Realweb\Api\Model\Utils\HttpClient расширяет класс Bitrix \Bitrix\Main\Web\HttpClient - добавлена поддержка метода PUT и DELETE

Если по каким либо причинам использовать стандартный HTTP клиент \Realweb\Api\Model\Utils\HttpClient нет возможности (или он не содержит необходимой функциональности) доступна альтернатива.

Все HTTP клиенты обладают следующими методами:

  • public function post(): Response - POST запрос
  • public function get(): Response - GET запрос
  • public function delete(): Response - DELETE запрос
  • public function put(): Response - PUT запрос
  • public function patch(): Response - PATCH запрос
  • public function setUrl(string $strUrl): self - установка url для запроса
  • public function addParam(string $strName, mixed $mValue): self - добавление параметра в запрос
  • public function addHeader(string $strName, string $strValue): self - добавление заголовка

Любой запрос возвращает экземпляр класса \Realweb\Api\Model\Main\Http\Response с методами:

  • public function getErrors(): Error\Collection - коллекция ошибок
  • public function isStatusSuccess(): bool - статус успешной отправки запроса
  • public function getResult(): ?string - результат выполнения в виде строки

Curl

Класс \Realweb\Api\Model\Main\Http\Client\Curl позволяет отправлять запросы через curl.

Пример использования
php
$obCurl = new \Realweb\Api\Model\Main\Http\Client\Curl();
$obCurl->setParams(array('section' => 1));
$obCurl->setUrl('http://krovelson.local/api/catalog-filters/');
$obResponse = $obCurl->get();

Multi Curl

Класс \Realweb\Api\Model\Main\Http\Client\Curl\Multi позволяет отправить несколько параллельных запросов через curl.

Пример использования
php
$obCurl = new \Realweb\Api\Model\Main\Http\Client\Curl\Multi();
$obCurl->addUrl('yandex.ru', 'yandex');
$obCurl->addUrl('google.com', 'google');
$obResponse = $obCurl->get();
echo $obResponse->getCollection()->getByKey('yandex');
echo $obResponse->getCollection()->getByKey('google');