Spec-Zone.ru › CakePHP 3.6

Класс Client

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

Управляемые клиенты

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

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

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

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

Управление куки

Client будет сохранять куки из ответов, выполненных с помощью экземпляра клиента. Эти куки будут автоматически добавлены к будущим запросам к соответствующим хостам. Куки будут учитывать атрибуты 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, вы можете использовать аутентификацию. Подопция типа может быть использована для указания стратегии аутентификации, которую вы хотите использовать. CakePHP поставляется с несколькими встроенными стратегиями:

  • Basic
  • Digest
  • Oauth

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

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

Cake\Http\Client использует Cake\Core\InstanceConfigTrait
Пространство имен: Cake\Http
Mixin: \Cake\Core\InstanceConfigTrait
Расположение: Http/Client.php

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

  • $_adapter protected
    Cake\Http\Client\Adapter\Stream

    Адаптер для отправки запросов. По умолчанию Cake\Http\Client\Adapter\Stream

  • $_cookies protected
    Cake\Http\Cookie\CookieCollection
    Список куков из ответов, сделанных с помощью этого клиента.
  • $_defaultConfig protected
    array
    Настройка по умолчанию для клиента.

Унаследованные свойства

  • _config, _configInitialized

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

  • __construct() public
    Создание нового HTTP-клиента.
  • _addAuthentication() protected
    Добавление заголовков аутентификации к запросу.
  • _addProxy() protected
    Добавление заголовков аутентификации прокси.
  • _createAuth() protected
    Создание стратегии аутентификации.
  • _createRequest() protected
    Создание нового объекта запроса на основе параметров.
  • _doRequest() protected
    Вспомогательный метод для выполнения запросов, отличных от GET.
  • _mergeOptions() protected
    Рекурсивное слияние параметра с конфигурацией области.
  • _sendRequest() protected
    Отправка запроса без перенаправления.
  • _typeHeaders() protected

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

  • addCookie() public
    Добавляет куки в коллекцию Client.
  • buildUrl() public
    Генерация URL на основе параметров управляемого клиента.
  • cookies() public
    Получение куков, сохраненных в Client.
  • delete() public
    Выполнение запроса DELETE.
  • get() public
    Выполнение запроса GET.
  • head() public
    Выполнение запроса HEAD.
  • options() public
    Выполнение запроса OPTIONS.
  • patch() public
    Выполнение запроса PATCH.
  • post() public
    Выполнение запроса POST.
  • put() public
    Выполнение запроса PUT.
  • send() public
    Отправка запроса.
  • trace() public
    Выполнение запроса TRACE.

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

__construct()source public

__construct( array $config = [] )

Создание нового HTTP-клиента.

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

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

  • host - Имя хоста для выполнения запросов.
  • port - Порт для использования.
  • scheme - Стандартный протокол для использования. По умолчанию http.
  • timeout - Время ожидания в секундах. По умолчанию 30
  • ssl_verify_peer - Подтверждать ли сертификаты SSL. По умолчанию true.
  • ssl_verify_peer_name - Подтверждать ли имена узлов. По умолчанию true.
  • ssl_verify_depth - Максимальная глубина цепочки сертификатов для обхода. По умолчанию 5.
  • ssl_verify_host - Проверять соответствие сертификата и имени хоста. По умолчанию true.
  • redirect - Количество перенаправлений для следования. По умолчанию false.

Параметры

массив $config необязательно []
Параметры конфигурации для управляемых клиентов.

_addAuthentication()source protected

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

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

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

Параметры

Cake\Http\Client\Request $request
Запрос для изменения.
массив $options
Массив параметров, содержащий ключ 'auth'.

Возвращает

Cake\Http\Client\Request
Обновленный объект запроса.

_addProxy()source protected

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

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

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

Параметры

Cake\Http\Client\Request $request
Запрос для изменения.
массив $options
Массив параметров, содержащий ключ 'proxy'.

Возвращает

Cake\Http\Client\Request
Обновленный объект запроса.

_createAuth()source protected

_createAuth( array $auth , array $options )

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

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

Параметры

массив $auth
Параметры аутентификации для использования.
массив $options
Общие параметры запроса для использования.

Возвращает

mixed
Экземпляр стратегии аутентификации.

Исключения

Cake\Core\Exception\Exception
при выборе неверной стратегии.
END_OF_DOCUMENT_MARKER ```

_createRequest()source protected

_createRequest( string $method , string $url , mixed $data , array $options )

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

Параметры

строка $method
Имя HTTP-метода.
строка $url
URL, включая строку запроса.
смешанный $data
Тело запроса.
массив $options
Используемые параметры. Содержит данные авторизации, прокси и т.д.

Возвращает

Cake\Http\Client\Request

_doRequest()source protected

_doRequest( string $method , string $url , mixed $data , array $options )

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

Параметры

строка $method
HTTP-метод.
строка $url
URL для запроса.
смешанный $data
Тело запроса.
массив $options
Используемые параметры. Содержит данные авторизации, прокси и т.д.

Возвращает

Cake\Http\Client\Response

_mergeOptions()source protected

_mergeOptions( array $options )

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

Параметры

массив $options
Параметры для объединения.

Возвращает

массив
Объединённые параметры с заданной конфигурацией.

_sendRequest()source protected

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

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

Параметры

Cake\Http\Client\Request $request
Запрос для отправки.
массив $options
Дополнительные параметры для использования.

Возвращает

Cake\Http\Client\Response

_typeHeaders()source protected

_typeHeaders( string $type )

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

Параметры

строка $type
Короткое псевдоним типа или полный MIME-тип.

Возвращает

массив
Заголовки для установки в запросе.

Выбрасывает

Cake\Core\Exception\Exception
При использовании неизвестного псевдонима типа.

addCookie()source public

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

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

Параметры

Cake\Http\Cookie\CookieInterface $cookie
Объект cookie.

Возвращает


$this

buildUrl()source public

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

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

Параметры

строка $url
Полный URL или только путь.
строка|массив $query опционально []
Данные запроса для URL.
массив $options опционально []
Параметры конфигурации, хранящиеся в Client::config()

Возвращает

строка
Полный URL со схемой, портом, хостом и путём.

cookies()source public

cookies( )

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

Возвращает

Cake\Http\Cookie\CookieCollection

delete()source public

delete( string $url , mixed $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который нужно запросить.
смешанный $data опционально []
Данные запроса, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

get()source public

get( string $url , array $data = [] , array $options = [] )

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

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

Параметры

строка $url
URL или путь, который нужно запросить.
массив $data опционально []
Данные запроса, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

head()source public

head( string $url , array $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который нужно запросить.
массив $data опционально []
Данные строки запроса, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

options()source public

options( string $url , mixed $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который нужно запросить.
смешанный $data опционально []
Данные запроса, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

patch()source public

patch( string $url , mixed $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который нужно запросить.
смешанный $data опционально []
Данные запроса, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

post()source public

post( string $url , mixed $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который нужно запросить.
смешанный $data опционально []
Данные POST, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

put()source public

put( string $url , mixed $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который нужно запросить.
смешанный $data опционально []
Данные запроса, которые нужно отправить.
массив $options опционально []
Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

send()source public

send( Cake\Http\Client\Request $request , array $options = [] )

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

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

Параметры

Cake\Http\Client\Request $request
Запрос для отправки.
массив $options опционально []
Дополнительные параметры для использования.

Возвращает

Cake\Http\Client\Response

trace()source public

trace( string $url , mixed $data = [] , array $options = [] )

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

Параметры

строка $url
URL или путь, который вы хотите запросить.
смешанный $data необязательно []
Данные запроса, которые вы хотите отправить.
массив $options необязательно []
Дополнительные параметры для запроса.

Возвращаемое значение

Cake\Http\Client\Response

Методы, используемые из Cake\Core\InstanceConfigTrait

_configDelete()source protected

_configDelete( string $key )

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

Параметры

строка $key
Ключ для удаления.

Исключения

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

_configRead()source protected

_configRead( string|null $key )

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

Параметры

строка|null $key
Ключ для чтения.

Возвращаемое значение

смешанный

_configWrite()source protected

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

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

Параметры

строка|массив $key
Ключ для записи.
смешанный $value
Значение для записи.
boolean|строка $merge необязательно false

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

Исключения

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

config()source public устаревший

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

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

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

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

$this->config();

Чтение определенного значения:

$this->config('key');

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

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

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

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

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

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

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

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

Устаревший

3.4.0 используйте setConfig()/getConfig() вместо этого.

Параметры

строка|массив|null $key необязательно null
Ключ для получения/установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Выполнять ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию - истина.

Возвращаемое значение

смешанный
Читаемое значение конфигурации или сам объект при операциях записи.

Исключения

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

configShallow()source public

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

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

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

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

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

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

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

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

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.

Возвращаемое значение


$this

getConfig()source public

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

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

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

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

$this->getConfig();

Чтение определенного значения:

$this->getConfig('key');

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

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

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

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

Параметры

строка|null $key необязательно null
Ключ для получения или null для всей конфигурации.
смешанный $default необязательно null
Возвращаемое значение, когда ключ не существует.

Возвращаемое значение

смешанный
Читаемое значение конфигурации.

setConfig()source public

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

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

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

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

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

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

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

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

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

Параметры

строка|массив $key
Ключ для установки или полный массив конфигураций.
смешанный|null $value необязательно null
Значение для установки.
boolean $merge необязательно true
Выполнять ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию - истина.

Возвращаемое значение


$this

Исключения

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

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

$_adaptersource

protected Cake\Http\Client\Adapter\Stream

Адаптер для отправки запросов. По умолчанию Cake\Http\Client\Adapter\Stream

$_cookiessource

protected Cake\Http\Cookie\CookieCollection

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

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

$_defaultConfigsource

protected массив

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

[
    'adapter' => 'Cake\Http\Client\Adapter\Stream',
    'host' => null,
    'port' => null,
    'scheme' => 'http',
    'timeout' => 30,
    'ssl_verify_peer' => true,
    'ssl_verify_peer_name' => true,
    'ssl_verify_depth' => 5,
    'ssl_verify_host' => true,
    'redirect' => false,
]

© 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/3.6/class-Cake.Http.Client.html

Spec-Zone.ru

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