Spec-Zone.ru › CakePHP 3.4

Класс Client

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

Связанные клиенты

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

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

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

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

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

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

Вы можете использовать опцию конструктора 'cookieJar', чтобы предоставить экземпляр пользовательской корзины куки, который был восстановлен из кэша/диска. По умолчанию будет создан пустой экземпляр 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\Adapter\Stream

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

  • $_cookies protected
    Cake\Http\Client\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
при выборе недействительной стратегии.

_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\Client\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
при попытке перезаписи существующей конфигурации
END_OF_DOCUMENT_MARKER

_configRead()source protected

_configRead( string|null $key )

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

Параметры

string|null $key
Ключ для чтения.

Возвращает

mixed

_configWrite()source protected

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

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

Параметры

string|array $key
Ключ для записи.
mixed $value
Значение для записи.
boolean|string $merge необязательно false

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

Вызывает исключение

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() вместо этого.

Параметры

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

Возвращает

mixed
Значение конфигурации для чтения или сам объект при операциях записи.

Вызывает исключение

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']);

Параметры

string|array $key
Ключ для установки или массив конфигурации.
mixed|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');

Параметры

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

Возвращает

mixed
Значение конфигурации.

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']);

Параметры

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

Возвращает


$this

Вызывает исключение

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

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

$_adaptersource

protected Cake\Http\Client\Adapter\Stream

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

$_cookiessource

protected Cake\Http\Client\CookieCollection

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

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

$_defaultConfigsource

protected array

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

[
    '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–2017 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.4/class-Cake.Http.Client.html

Spec-Zone.ru

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