Spec-Zone.ru › CakePHP 3.8

Класс 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 имеет встроенную поддержку аутентификации Basic.

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

Резюме свойств

  • $_adapter protected
    Cake\Http\Client\AdapterInterface
    Адаптер для отправки запросов.
  • $_cookies protected
    Cake\Http\Cookie\CookieCollection
    Список cookie из ответов, сделанных с этим клиентом.
  • $_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
    Добавляет cookie в коллекцию Client.
  • buildUrl() public
    Генерирует URL на основе параметров сгруппированного клиента.
  • cookies() public
    Получить cookie, сохранённые в 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.
  • adapter - Имя класса адаптера или экземпляр. По умолчанию \Cake\Http\Client\Adapter\Curl, если расширение curl загружено, в противном случае \Cake\Http\Client\Adapter\Stream.

Параметры

массив $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
при выборе недействительной стратегии.

_createRequest()source protected

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

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

Параметры

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

Возвращает

Cake\Http\Client\Request
END_OF_DOCUMENT_MARKER ```

_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
Ключ для чтения.

Возвращает

смешанный
END_OF_DOCUMENT_MARKER

_configWrite()source protected

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

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

Параметры

строка|массив $key
Ключ для записи.
смешанное значение $value
Значение для записи.
логическое значение|строка $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
Значение для установки.
логическое значение $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
Возвращаемое значение, когда ключ не существует.

Возвращает

смешанное значение
Данные конфигурации по заданному ключу или 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
Значение для установки.
логическое значение $merge необязательно true
Выполнять ли рекурсивное слияние или перезапись существующей конфигурации, по умолчанию истинно.

Возвращает


$this

Исключения

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

Подробности свойств

$_adaptersource

protected Cake\Http\Client\AdapterInterface

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

$_cookiessource

protected Cake\Http\Cookie\CookieCollection

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

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

$_defaultConfigsource

protected массив

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

[
    'adapter' => null,
    '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.8/class-Cake.Http.Client.html

Spec-Zone.ru

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