Документация для разработчиков
Темная тема

Конструктор HttpClient

Описание

public
\Bitrix\Main\Web\HttpClient::__construct(
	array $options = null
);

Нестатический метод вызывается при создании экземпляра класса и позволяет в нем произвести какие-то действия при создании объекта.

Параметры

ПараметрОписаниеВерсия
optionsМассив параметров:
  • redirect * (bool) – следовать ли переадресации (по умолчанию true – редирект);
  • redirectMax * (int) – максимальное количество редиректов (по умолчанию 5);
  • waitResponse (bool) – дождаться ответа или отключиться сразу после запроса (по умолчанию true – ожидание ответа);
  • socketTimeout (int) – таймаут соединения в секундах (по умолчанию 30);
  • streamTimeout (int) – таймаут потока в секундах (по умолчанию 60);
  • version * (string) – версия HTTP (HttpClient::HTTP_1_0, HttpClient::HTTP_1_1) (по умолчанию "1.0");
  • proxyHost (string) – имя\адрес прокси сервера;
  • proxyPort (int) – порт прокси сервера;
  • proxyUser (string) – имя пользователя прокси сервера;
  • proxyPassword (string) – пароль прокси;
  • compress (bool) – использование сжатия gzip (по умолчанию false). Если true, будет послан Accept-Encoding: gzip;
  • charset (string) – кодировка для содержимого POST и PUT запросов (используется в поле заголовка запроса Content-Type);
  • disableSslVerification (bool) – если установлено true, то верификация ssl-сертификатов производиться не будет;
  • bodyLengthMax (int) – максимальная длина запроса;
  • privateIp (bool) – включить запросы к частным IP-адресам (по умолчанию true – включить);
  • debugLevel (int) – уровень отладки с использованием констант HttpDebug::*;
  • cookies * (array) – массив файлов cookie для HTTP-запроса;
  • headers * (array) – массив заголовков для HTTP-запроса;
  • useCurl (bool) – включить использование библиотеки CURL (по умолчанию false);
  • curlLogFile (string) – полный путь к файлу с логами CURL.
* – опции, работающие только в legacy-режиме.

Все эти опции не обязательно указывать при создании экземпляра класса, их можно установить в дальнейшем.

Примеры

Создать экземпляр класса:

$http=new \Bitrix\Main\Web\HttpClient(array $options = null);)

Выполнение GET запроса. В параметр необходимо передать абсолютный путь. Возвращается строка ответа или false, если произошла ошибка. Обратите внимание, что пустая строка не является ошибкой.

$http->get($url)

Выполнение POST запроса. Первый параметр - абсолютный путь. Второй параметр может быть массивом, строкой, объектом. Аналогично предыдущему методу возвращает строку ответа или false, если произошла ошибка.

$http->post($url, $postData = null)

Установка заголовока http в запросе. Первый параметр устанавливает имя поля заголовка, второй параметр значение этого поля. (Обратите внимание, что в обоих случаях передается строка. То есть если нужно сразу установить несколько заголовков, то метод нужно будет вызвать несколько раз.) Третий параметр отвечает за то, будет ли перезаписываться заголовок, если уже установлен параметр с таким же именем или нет.

$http->setHeader($name, $value, $replace = true)

Установка cookies для запроса. Единственный параметр принимает массив, где ключ - это имя cookies, а значение - значение cookies.

$http->setCookies(array $cookies)

Установка поля заголовка запроса базовой http авторизации. В параметрах передается имя пользователя и пароль.

$http->setAuthorization($user, $pass)

Установка опции перенаправления. Первый параметр устанавливает делать ли перенаправления или нет, а второй задаёт максимальное количество перенаправлений.

$http->setRedirect($value, $max = null)

Установка параметра, который задаёт ожидание отклика от сервера или закрытие соединения сразу после запроса. По умолчанию - ожидание.

$http->waitResponse($value)

Установка максимального времени ожидания ответа в секундах.

$http->setTimeout($value)

Установка версии HTTP протокола. По умолчанию 1.0. Можно установить 1.1

$http->setVersion($value)

Указание, использовать ли сжатие или нет. Обратите внимание, что сжатый ответ в любом случае обрабатывается, если верно переданы заголовки.

$http->setCompress($value)

Установка кодировки для тела объектов запросов POST и PUT

$http->setCharset($value)

Установка параметров для использования прокси сервера. Указывается первым параметром хост или адрес, вторым - порт, третий параметр - это имя пользователя и четвертый - пароль. Все параметры кроме имени хоста не обязательны.

$http->setProxy($proxyHost, $proxyPort = null, $proxyUser = null, $proxyPassword = null)

Указание, что результатом будет поток. Параметром передается реcурс на файл или на поток.

$http->setOutputStream($handler)

Загрузка и сохранение файла. Первый параметр - это адрес откуда нужно скачать файл. Второй параметр - это абсолютный путь для сохранения файла.

$http->download($url, $filePath)


© «Битрикс», 2001-2024, «1С-Битрикс», 2024