Класс 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
Краткое описание свойств
-
$_adapterprotectedАдаптер для отправки запросов. По умолчанию Cake\Http\Client\Adapter\Stream
- Список куков из ответов, сделанных с помощью этого клиента.
$_cookiesprotected -
$_defaultConfigprotectedНастройка по умолчанию для клиента.array
Унаследованные свойства
Краткое описание методов
- __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 - Используемые параметры. Содержит данные авторизации, прокси и т.д.
Возвращает
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\CookieCollectiondelete()source public
delete( string $url , mixed $data = [] , array $options = [] )
Выполнить запрос DELETE.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- смешанный
$dataопционально [] - Данные запроса, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responseget()source public
get( string $url , array $data = [] , array $options = [] )
Выполнить запрос GET.
Аргумент $data поддерживает специальный _content ключ для предоставления тела запроса в запросе GET. Обычно это не используется, но такие сервисы, как ElasticSearch, используют эту функцию.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- массив
$dataопционально [] - Данные запроса, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responsehead()source public
head( string $url , array $data = [] , array $options = [] )
Выполнить запрос HEAD.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- массив
$dataопционально [] - Данные строки запроса, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responseoptions()source public
options( string $url , mixed $data = [] , array $options = [] )
Выполнить запрос OPTIONS.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- смешанный
$dataопционально [] - Данные запроса, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responsepatch()source public
patch( string $url , mixed $data = [] , array $options = [] )
Выполнить запрос PATCH.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- смешанный
$dataопционально [] - Данные запроса, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responsepost()source public
post( string $url , mixed $data = [] , array $options = [] )
Выполнить запрос POST.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- смешанный
$dataопционально [] - Данные POST, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responseput()source public
put( string $url , mixed $data = [] , array $options = [] )
Выполнить запрос PUT.
Параметры
- строка
$url - URL или путь, который нужно запросить.
- смешанный
$dataопционально [] - Данные запроса, которые нужно отправить.
- массив
$optionsопционально [] - Дополнительные параметры для запроса.
Возвращает
Cake\Http\Client\Responsesend()source public
send( Cake\Http\Client\Request $request , array $options = [] )
Отправить запрос.
Внутренне используется другими методами, но также может быть использован для отправки запросов Request.
Параметры
-
Cake\Http\Client\Request$request - Запрос для отправки.
- массив
$optionsопционально [] - Дополнительные параметры для использования.
Возвращает
Cake\Http\Client\Responsetrace()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