Spec-Zone.ru › CakePHP 3.3

Класс Client

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

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

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

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

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

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

Управление файлами cookie

Client будет сохранять файлы cookie из ответов, выполненных с экземпляром клиента. Эти файлы cookie будут автоматически добавлены в будущие запросы к соответствующим хостам. Файлы cookie будут учитывать атрибуты Expires, Path и Domain. Вы можете получить список текущих сохранённых файлов cookie, используя метод 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
Расположение: Http/Client.php

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

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

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

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

Наследуемые свойства

  • _config, _configInitialized

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

  • __construct() public
    Создание нового HTTP-клиента.
  • _addAuthentication() protected
    Добавление заголовков аутентификации к запросу.
  • _addProxy() protected
    Добавление заголовков аутентификации прокси.
  • _createAuth() protected
    Создание стратегии аутентификации.
  • _createRequest() protected
    Создание нового объекта запроса на основе параметров.
  • _doRequest() protected
    Вспомогательный метод для выполнения запросов, отличных от GET.
  • _mergeOptions() protected
    Рекурсивное слияние параметра с параметрами конфигурации области видимости.
  • _typeHeaders() protected
    Возвращает заголовки Accept/Content-Type на основе короткого типа или полного типа MIME.
  • 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.

Параметры

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

Возвращает

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

Выбрасывает

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
Параметры для объединения.

Возвращает

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

_typeHeaders()source protected

_typeHeaders( string $type )

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

Параметры

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

Возвращает

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

Выбрасывает

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

buildUrl()source public

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

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

Параметры

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

Возвращает

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

cookies()source public

cookies( )

Получить куки, сохранённые в 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
если пытаетесь перезаписать существующую конфигурацию

_configRead()source protected

_configRead( string|null $key )

Чтение переменной конфигурации

Параметры

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

Возвращает

смешанный

_configWrite()source protected

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

Запись переменной конфигурации

Параметры

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

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

Выбрасывает

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

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

Параметры

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->config('key', $value);

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

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

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

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

Параметры

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

Возвращает


$this Объект.

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

$_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.3/class-Cake.Http.Client.html

Spec-Zone.ru

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