Spec-Zone.ru › CakePHP 4.2

Класс Client

Интерфейс конечного пользователя для выполнения HTTP-запросов.

Выделенные клиенты

Если вы выполняете несколько запросов к одному и тому же хосту, часто удобно использовать аргументы конструктора для создания выделенного клиента. Это позволяет сохранить код DRY и не повторять хосты, аутентификацию и другие параметры.

Выполнение запросов

После создания экземпляра Client вы можете выполнять запросы, используя несколько методов. Каждый соответствует различным HTTP-методам.

  • get()
  • post()
  • put()
  • delete()
  • patch()

Управление cookie

Client будет сохранять cookie из ответов, выполненных с помощью экземпляра клиента. Эти cookie будут автоматически добавлены в будущие запросы к соответствующим хостам. Cookie будут учитывать атрибуты Expires, Path и Domain. Вы можете получить CookieCollection клиента, используя cookies()

Вы можете использовать опцию конструктора 'cookieJar', чтобы предоставить экземпляр пользовательского cookie-хранилища, восстановленного из кеша/диска. По умолчанию будет создан пустой экземпляр Cake\Http\Client\CookieCollection.

Отправка тел запросов

По умолчанию любой запрос POST/PUT/PATCH/DELETE с $data отправит свои данные как application/x-www-form-urlencoded , если не прикреплены файлы. В этом случае используется multipart/form-data.

При отправке тел запросов вы можете использовать опцию type для установки Content-Type для запроса:

$http->get('/users', [], ['type' => 'json']);

Опция type устанавливает заголовки Content-Type и Accept, в том же типе MIME. При использовании type вы можете использовать либо полный тип MIME, либо псевдоним. Если вам нужны разные типы в заголовках Accept и Content-Type, вы должны установить их вручную и не использовать type

Использование аутентификации

Используя ключ auth, вы можете использовать аутентификацию. Подключенную подопцию type можно использовать для указания желаемой стратегии аутентификации. CakePHP поставляется с несколькими встроенными стратегиями:

  • Basic
  • Digest
  • Oauth

Использование прокси-серверов

Используя ключ proxy, вы можете задать учетные данные аутентификации для прокси-сервера, если вам нужно его использовать. Подключенную подопцию type можно использовать для указания желаемой стратегии аутентификации. CakePHP поставляется с встроенной поддержкой базовой аутентификации.

Пространство имен: Cake\Http

Краткое описание свойств

  • $_adapter protected
    Cake\Http\Client\AdapterInterface

    Адаптер для отправки запросов.

  • $_config protected
    array

    Конфигурация выполнения

  • $_configInitialized protected
    bool

    Была ли конфигурация свойств уже настроена по умолчанию

  • $_cookies protected
    Cake\Http\Cookie\CookieCollection

    Список cookie из ответов, сделанных с помощью этого клиента.

  • $_defaultConfig protected
    array

    Настройка по умолчанию для клиента.

Краткое описание методов

  • __construct() public

    Создать новый HTTP-клиент.

  • _addAuthentication() protected

    Добавить заголовки аутентификации к запросу.

  • _addProxy() protected

    Добавить заголовки аутентификации прокси.

  • _configDelete() protected

    Удаляет один ключ конфигурации.

  • _configRead() protected

    Считывает ключ конфигурации.

  • _configWrite() protected

    Записывает ключ конфигурации.

  • _createAuth() protected

    Создать стратегию аутентификации.

  • _createRequest() protected

    Создаёт новый объект запроса на основе параметров.

  • _doRequest() protected

    Вспомогательный метод для выполнения запросов, отличных от GET.

  • _mergeOptions() protected

    Выполняет рекурсивное слияние параметра с конфигурацией области действия.

  • _sendRequest() protected

    Отправить запрос без перенаправления.

  • _typeHeaders() protected

    Возвращает заголовки Accept/Content-Type на основе короткого типа или полного типа MIME.

  • addCookie() public

    Добавляет cookie в коллекцию Client.

  • buildUrl() public

    Генерирует URL на основе параметров выделенного клиента.

  • configShallow() public

    Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

  • cookies() public

    Получить cookie, сохранённые в Client.

  • createFromUrl() public static

    Экземпляр клиента, возвращаемый, ограничен доменом, портом и схемой, проанализированными из переданной строки URL. Переданная строка должна иметь схему и домен. Дополнительно, если в строке содержится порт, порт также будет ограничен. Если в URL содержится путь, экземпляр клиента будет строить URL с ним в качестве префикса. Другие части строки URL игнорируются.

  • delete() public

    Выполнить запрос DELETE.

  • get() public

    Выполнить запрос GET.

  • getConfig() public

    Возвращает конфигурацию.

  • getConfigOrFail() public

    Возвращает конфигурацию для этого конкретного ключа.

  • head() public

    Выполнить запрос HEAD.

  • options() public

    Выполнить запрос OPTIONS.

  • patch() public

    Выполнить запрос PATCH.

  • post() public

    Выполнить запрос POST.

  • put() public

    Выполнить запрос PUT.

  • send() public

    Отправить запрос.

  • sendRequest() public

    Отправляет PSR-7 запрос и возвращает PSR-7 ответ.

  • setConfig() public

    Устанавливает конфигурацию.

  • trace() public

    Выполнить запрос TRACE.

Подробное описание методов

__construct() public

__construct(array $config = [])

Создать новый HTTP-клиент.

Параметры конфигурации

При создании клиента можно установить следующие параметры:

  • host - Имя хоста для выполнения запросов.
  • port - Используемый порт.
  • scheme - Используемая схема/протокол по умолчанию. По умолчанию http.
  • basePath - Путь для добавления к домену. (/api/v1/)
  • timeout - Время ожидания в секундах. По умолчанию 30
  • ssl_verify_peer - Необходимо ли проверять SSL-сертификаты. По умолчанию true.
  • ssl_verify_peer_name - Необходимо ли проверять имена узлов. По умолчанию true.
  • ssl_verify_depth - Максимальная глубина цепочки сертификатов для обхода. По умолчанию 5.
  • ssl_verify_host - Проверить соответствие сертификата и имени хоста. По умолчанию true.
  • redirect - Количество перенаправлений для следования. По умолчанию false.
  • adapter - Имя класса адаптера или экземпляр. По умолчанию \Cake\Http\Client\Adapter\Curl, если загружено расширение curl, иначе \Cake\Http\Client\Adapter\Stream.
  • protocolVersion - Используемая версия протокола HTTP. По умолчанию 1.1

Параметры

array $config optional

Параметры конфигурации для клиентов с областью видимости.

Исключения

InvalidArgumentException

_addAuthentication() protected

_addAuthentication(Cake\Http\Client\Request $request, array $options): Cake\Http\Client\Request

Добавить заголовки аутентификации к запросу.

Использует тип аутентификации для выбора правильной стратегии и использования её методов для добавления заголовков.

Параметры

Cake\Http\Client\Request $request

Запрос для изменения.

array $options

Массив параметров, содержащий ключ 'auth'.

Возвращает

Cake\Http\Client\Request

_addProxy() protected

_addProxy(Cake\Http\Client\Request $request, array $options): Cake\Http\Client\Request

Добавить заголовки аутентификации прокси.

Использует тип аутентификации для выбора правильной стратегии и использования её методов для добавления заголовков.

Параметры

Cake\Http\Client\Request $request

Запрос для изменения.

array $options

Массив параметров, содержащий ключ 'proxy'.

Возвращает

Cake\Http\Client\Request

_configDelete() protected

_configDelete(string $key): void

Удаляет один ключ конфигурации.

Параметры

string $key

Ключ для удаления.

Возвращает

void

Исключения

Cake\Core\Exception\CakeException
при попытке перезаписать существующую конфигурацию

_configRead() protected

_configRead(string|null $key): mixed

Читает ключ конфигурации.

Параметры

string|null $key

Ключ для чтения.

Возвращает

mixed

_configWrite() protected

_configWrite(string|array $key, mixed $value, bool|string $merge = false): void

Записывает ключ конфигурации.

Параметры

string|array $key

Ключ для записи.

mixed $value

Значение для записи.

bool|string $merge optional

True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.

Возвращает

void

Исключения

Cake\Core\Exception\CakeException
при попытке перезаписать существующую конфигурацию

_createAuth() protected

_createAuth(array $auth, array $options): object

Создать стратегию аутентификации.

Использовать параметры конфигурации для создания правильного обработчика стратегии аутентификации.

Параметры

array $auth

Параметры аутентификации для использования.

array $options

Общие параметры запроса для использования.

Возвращает

object

Исключения

Cake\Core\Exception\CakeException
когда выбрана неверная стратегия.

_createRequest() protected

_createRequest(string $method, string $url, mixed $data, array $options): Cake\Http\Client\Request

Создает новый объект запроса на основе параметров.

Параметры

string $method

Имя метода HTTP.

string $url

URL, включая строку запроса.

mixed $data

Тело запроса.

array $options

Параметры для использования. Содержит auth, proxy и т.д.

Возвращает

Cake\Http\Client\Request

_doRequest() protected

_doRequest(string $method, string $url, mixed $data, array $options): Cake\Http\Client\Response

Вспомогательный метод для выполнения запросов, отличных от GET.

Параметры

string $method

Метод HTTP.

string $url

URL для запроса.

mixed $data

Тело запроса.

array $options

Параметры для использования. Содержит auth, proxy и т.д.

Возвращает

Cake\Http\Client\Response

_mergeOptions() protected

_mergeOptions(array $options): array

Выполняет рекурсивное слияние параметра с конфигурацией области видимости.

Параметры

array $options

Параметры для слияния.

Возвращает

array

_sendRequest() protected

_sendRequest(Psr\Http\Message\RequestInterface $request, array $options): Cake\Http\Client\Response

Отправить запрос без перенаправления.

Параметры

Psr\Http\Message\RequestInterface $request

Запрос для отправки.

array $options

Дополнительные параметры для использования.

Возвращает

Cake\Http\Client\Response

_typeHeaders() protected

_typeHeaders(string $type): string[]

Возвращает заголовки для Accept/Content-Type на основе короткого типа или полного mime-типа.

Параметры

string $type

Короткое псевдоним типа или полный mimetype.

Возвращает

string[]

Исключения

Cake\Core\Exception\CakeException
Когда используется неизвестный псевдоним типа.

addCookie() public

addCookie(Cake\Http\Cookie\CookieInterface $cookie): $this

Добавляет cookie в коллекцию клиента.

Параметры

Cake\Http\Cookie\CookieInterface $cookie

Объект cookie.

Возвращает

$this

Исключения

InvalidArgumentException

buildUrl() public

buildUrl(string $url, string|array $query = [], array $options = []): string

Генерирует URL на основе параметров клиента с областью видимости.

Параметры

string $url

Полный URL или только путь.

string|array $query optional

Данные запроса для URL.

array $options optional

Параметры конфигурации, хранящиеся с помощью Client::config()

Возвращает

string

configShallow() public

configShallow(string|array $key, mixed|null $value = null): $this

Объединяет предоставленную конфигурацию с существующей. В отличие от config(), который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

Установка определенного значения:

$this->configShallow('key', $value);

Установка вложенного значения:

$this->configShallow('some.nested.key', $value);

Обновление нескольких параметров конфигурации одновременно:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Параметры

string|array $key

Ключ для установки или полный массив конфигураций.

mixed|null $value optional

Значение для установки.

Возвращает

$this

cookies() public

cookies(): Cake\Http\Cookie\CookieCollection

Получить cookies, хранящиеся в клиенте.

Возвращает

Cake\Http\Cookie\CookieCollection

createFromUrl() public static

createFromUrl(string $url): static

Возвращаемый экземпляр клиента относится к домену, порту и схеме, извлечённым из переданной строки URL. Переданная строка должна содержать схему и домен. Дополнительно, если в строке указан порт, то он также будет учтён. Если в URL указан путь, экземпляр клиента будет создавать URL с добавлением этого пути в начале. Другие части строки URL игнорируются.

Parameters

string $url

Строка URL, например, https://example.com

Returns

static

Throws

InvalidArgumentException

delete() public

delete(string $url, mixed $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос DELETE.

Parameters

string $url

URL или путь, который вы хотите запросить.

mixed $data optional

Данные запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

get() public

get(string $url, array|string $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос GET.

Аргумент $data поддерживает специальный ключ _content для предоставления тела запроса в запросе GET. Это обычно не используется, но такие сервисы, как ElasticSearch, используют эту функцию.

Parameters

string $url

URL или путь, который вы хотите запросить.

array|string $data optional

Данные запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Возвращает конфигурацию.

Usage

Чтение всей конфигурации:

$this->getConfig();

Чтение конкретного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Parameters

string|null $key optional

Ключ для получения или null для всей конфигурации.

mixed $default optional

Возвращаемое значение, когда ключ не существует.

Returns

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для этого конкретного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Parameters

string $key

Ключ для получения.

Returns

mixed

Throws

InvalidArgumentException

head() public

head(string $url, array $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос HEAD.

Parameters

string $url

URL или путь, который вы хотите запросить.

array $data optional

Данные строки запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

options() public

options(string $url, mixed $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос OPTIONS.

Parameters

string $url

URL или путь, который вы хотите запросить.

mixed $data optional

Данные запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

patch() public

patch(string $url, mixed $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос PATCH.

Parameters

string $url

URL или путь, который вы хотите запросить.

mixed $data optional

Данные запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

post() public

post(string $url, mixed $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос POST.

Parameters

string $url

URL или путь, который вы хотите запросить.

mixed $data optional

Данные POST, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

put() public

put(string $url, mixed $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос PUT.

Parameters

string $url

URL или путь, который вы хотите запросить.

mixed $data optional

Данные запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

send() public

send(Psr\Http\Message\RequestInterface $request, array $options = []): Cake\Http\Client\Response

Отправить запрос.

Используется внутренне другими методами, но также может использоваться для отправки собственных объектов Request.

Parameters

Psr\Http\Message\RequestInterface $request

Запрос для отправки.

array $options optional

Дополнительные параметры для использования.

Returns

Cake\Http\Client\Response

sendRequest() public

sendRequest(RequestInterface $request): Psr\Http\Message\ResponseInterface

Отправляет запрос PSR-7 и возвращает ответ PSR-7.

Parameters

RequestInterface $request

Экземпляр запроса.

Returns

Psr\Http\Message\ResponseInterface

Throws

Psr\Http\Client\ClientExceptionInterface
Если произошла ошибка во время обработки запроса.

setConfig() public

setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this

Устанавливает конфигурацию.

Usage

Установка конкретного значения:

$this->setConfig('key', $value);

Установка вложенного значения:

$this->setConfig('some.nested.key', $value);

Обновление нескольких параметров конфигурации одновременно:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

Ключ для установки или полный массив конфигураций.

mixed|null $value optional

Значение для установки.

bool $merge optional

Следует ли рекурсивно объединять или перезаписывать существующую конфигурацию, по умолчанию true.

Returns

$this

Throws

Cake\Core\Exception\CakeException
При попытке установить недопустимый ключ.

trace() public

trace(string $url, mixed $data = [], array $options = []): Cake\Http\Client\Response

Выполнить запрос TRACE.

Parameters

string $url

URL или путь, который вы хотите запросить.

mixed $data optional

Данные запроса, которые вы хотите отправить.

array $options optional

Дополнительные параметры для запроса.

Returns

Cake\Http\Client\Response

Подробное описание свойств

$_adapter protected

Адаптер для отправки запросов.

Тип

Cake\Http\Client\AdapterInterface

$_config protected

Конфигурация выполнения

Тип

array

$_configInitialized protected

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

Тип

bool

$_cookies protected

Список куки из ответов, полученных с этим клиентом.

Куки индексируются по домену куки или имени хоста запроса.

Тип

Cake\Http\Cookie\CookieCollection

$_defaultConfig protected

Конфигурация по умолчанию для клиента.

Тип

array

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Http.Client.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API