Класс Client
Интерфейс конечного пользователя для выполнения HTTP-запросов.
Управляемые клиенты
Если вы выполняете несколько запросов к одному и тому же хосту, часто удобно использовать аргументы конструктора для создания управляемого клиента. Это позволяет сохранять DRY-код и не повторять имена хостов, аутентификацию и другие параметры.
Выполнение запросов
После создания экземпляра Client вы можете выполнить запросы, используя несколько методов. Каждый из них соответствует разному HTTP-методу.
- get()
- post()
- put()
- delete()
- patch()
Управление куки
Client будет сохранять куки из ответов, выполненных с помощью экземпляра клиента. Эти куки будут автоматически добавляться в будущие запросы к соответствующим хостам. Куки будут учитывать атрибуты Expires, Path и Domain. Вы можете получить список текущих сохраненных куки, используя метод cookies().
Вы можете использовать опцию конструктора 'cookieJar', чтобы предоставить экземпляр пользовательского хранилища куки, который вы восстановили из кэша/диска. По умолчанию будет создан пустой экземпляр Cake\Network\Http\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\Network\Http\Client использует Cake\Core\InstanceConfigTrait
Подробное описание метода
__constructsource public
__construct( array $config [] )
Создать новый HTTP-клиент.
Параметры конфигурации
При создании клиента можно установить следующие параметры:
- host - Имя хоста для выполнения запросов.
- port - Порт для использования.
- scheme - Стандартный режим/протокол для использования. По умолчанию http.
- timeout - Время ожидания в секундах. По умолчанию 30
- ssl_verify_peer - Требуется ли проверка SSL-сертификатов. По умолчанию true.
- ssl_verify_depth - Максимальная глубина проверки цепочки сертификатов. По умолчанию 5.
- ssl_verify_host - Проверить соответствие сертификата и имени хоста. По умолчанию true.
- redirect - Количество редиректов для следования. По умолчанию false.
Параметры
- массив
$configнеобязательно [] - Параметры конфигурации для управляемых клиентов.
_addAuthenticationsource protected
_addAuthentication( Cake\Network\Http\Request $request , array $options )
Добавить заголовки аутентификации к запросу.
Использует тип аутентификации, чтобы выбрать правильную стратегию и использовать ее методы для добавления заголовков.
Параметры
-
Cake\Network\Http\Request$request - Запрос для изменения.
- массив
$options - Массив опций, содержащий ключ 'auth'.
_addProxysource protected
_addProxy( Cake\Network\Http\Request $request , array $options )
Добавить заголовки аутентификации прокси.
Использует тип аутентификации, чтобы выбрать правильную стратегию и использовать ее методы для добавления заголовков.
Параметры
-
Cake\Network\Http\Request$request - Запрос для изменения.
- массив
$options - Массив опций, содержащий ключ 'proxy'.
_createAuthsource protected
_createAuth( array $auth , array $options )
Создать стратегию аутентификации.
Используйте параметры конфигурации, чтобы создать обработчик правильной стратегии аутентификации.
Параметры
- массив
$auth - Параметры аутентификации для использования.
- массив
$options - Общие параметры запроса для использования.
Возвращает
mixedЭкземпляр стратегии аутентификации.
Выбрасывает
Cake\Core\Exception\Exceptionпри выборе недействительной стратегии.
_createRequestsource protected
_createRequest( string $method , string $url , mixed $data , array $options )
Создает новый объект запроса на основе параметров.
Параметры
- строка
$method - Имя HTTP-метода.
- строка
$url - URL, включая строку запроса.
- смешанный
$data - Тело запроса.
- массив
$options - Параметры для использования. Содержит auth, proxy и т. д.
Возвращает
Cake\Network\Http\Request\Cake\Network\Http\Request
_doRequestsource protected
_doRequest( string $method , string $url , mixed $data , array $options )
Вспомогательный метод для выполнения запросов, отличных от GET.
Параметры
- строка
$method - HTTP-метод.
- строка
$url - URL для запроса.
- смешанный
$data - Тело запроса.
- массив
$options - Параметры для использования. Содержит auth, proxy и т. д.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
_mergeOptionssource protected
_mergeOptions( array $options )
Выполняет рекурсивное слияние параметра с конфигурацией области видимости.
Параметры
- массив
$options - Параметры для слияния.
Возвращает
arrayОбъединенные параметры с заданной конфигурацией.
_typeHeaderssource protected
_typeHeaders( string $type )
Возвращает заголовки Accept/Content-Type на основе короткого типа или полного типа MIME.
Параметры
- строка
$type - псевдоним короткого типа или полный тип MIME.
Возвращает
arrayЗаголовки для установки в запросе.
Выбрасывает
Cake\Core\Exception\ExceptionКогда используется неизвестный псевдоним типа.
buildUrlsource public
buildUrl( string $url , string|array $query [] , array $options [] )
Генерирует URL на основе параметров управляемого клиента.
Параметры
- строка
$url - Полный URL или только путь.
- строка/массив
$queryнеобязательно [] - Данные запроса для URL.
- массив
$optionsнеобязательно [] - Параметры конфигурации, сохраненные с Client::config()
Возвращает
stringПолный URL со схемой, портом, хостом и путем.
cookiessource public
cookies( )
Получить куки, сохраненные в клиенте.
Возвращает массив массивов данных куки.
Возвращает
Cake\Network\Http\CookieCollection\Cake\Network\Http\CookieCollection
deletesource public
delete( string $url , mixed $data [] , array $options [] )
Выполнить запрос DELETE.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- смешанный
$dataнеобязательно [] - Данные запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
getsource public
get( string $url , array $data [] , array $options [] )
Выполнение запроса GET.
Аргумент $data поддерживает специальный ключ _content для предоставления тела запроса в запросе GET. Обычно это не используется, но сервисы, такие как ElasticSearch, используют эту возможность.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- массив
$dataнеобязательно [] - Данные запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
headsource public
head( string $url , array $data [] , array $options [] )
Выполнение запроса HEAD.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- массив
$dataнеобязательно [] - Данные строки запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
optionssource public
options( string $url , mixed $data [] , array $options [] )
Выполнение запроса OPTIONS.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- смешанный
$dataнеобязательно [] - Данные запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
patchsource public
patch( string $url , mixed $data [] , array $options [] )
Выполнение запроса PATCH.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- смешанный
$dataнеобязательно [] - Данные запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
postsource public
post( string $url , mixed $data [] , array $options [] )
Выполнение запроса POST.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- смешанный
$dataнеобязательно [] - Данные POST, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
putsource public
put( string $url , mixed $data [] , array $options [] )
Выполнение запроса PUT.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- смешанный
$dataнеобязательно [] - Данные запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
sendsource public
send( Cake\Network\Http\Request $request , array $options [] )
Отправка запроса.
Используется внутренне другими методами, но также может использоваться для отправки вручную созданных объектов Request.
Параметры
-
Cake\Network\Http\Request$request - Запрос для отправки.
- массив
$optionsнеобязательно [] - Дополнительные параметры для использования.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
tracesource public
trace( string $url , mixed $data [] , array $options [] )
Выполнение запроса TRACE.
Параметры
- строка
$url - URL или путь, который вы хотите запросить.
- смешанный
$dataнеобязательно [] - Данные запроса, которые вы хотите отправить.
- массив
$optionsнеобязательно [] - Дополнительные параметры для запроса.
Возвращает
Cake\Network\Http\Response\Cake\Network\Http\Response
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удаление одного параметра конфигурации
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли попытка перезаписать существующую конфигурацию
_configReadsource protected
_configRead( string|null $key )
Чтение переменной конфигурации
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
mixedсмешанный
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Запись переменной конфигурации
Параметры
- строка|массив
$key - Ключ для записи.
- смешанный
$value - Значение для записи.
- логическое значение|строка
$mergeнеобязательно false - Истинно для рекурсивного слияния, 'shallow' для простого слияния, ложно для перезаписи, по умолчанию ложно.
Выбрасывает
Cake\Core\Exception\Exceptionесли попытка перезаписи существующей конфигурации
configsource 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']);
Параметры
- строка|массив|null
$keyнеобязательно null - Ключ для получения/установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
- логическое значение
$mergeнеобязательно true - Нужно ли рекурсивно слить или перезаписать существующую конфигурацию, по умолчанию истинно.
Возвращает
mixedЗначение конфигурации, которое считывается, или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить недействительный ключ.
configShallowsource 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']);
Параметры
- строка|массив
$key - Ключ для установки или полный массив конфигураций.
- смешанный|null
$valueнеобязательно null - Значение для установки.
Возвращает
mixed$this Объект сам по себе.
Резюме свойств
Свойства, используемые из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Указывает, была ли конфигурация свойства уже настроена значениями по умолчанию
false
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Network.Http.Client.html