Spec-Zone.ru › CakePHP 3.1

Класс 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
Пространство имен: Cake\Network\Http
Расположение: Network/Http/Client.php

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

__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
END_OF_DOCUMENT_MARKER

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 Объект сам по себе.

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

$_adaptersource

protected Cake\Network\Http\Adapter\Stream

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

$_cookiessource

protected Cake\Network\Http\CookieCollection

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

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

$_defaultConfigsource

protected array

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

[
    'adapter' => 'Cake\Network\Http\Adapter\Stream',
    'host' => null,
    'port' => null,
    'scheme' => 'http',
    'timeout' => 30,
    'ssl_verify_peer' => true,
    'ssl_verify_depth' => 5,
    'ssl_verify_host' => true,
    'redirect' => false,
]

Свойства, используемые из Cake\Core\InstanceConfigTrait

$_configsource

protected array

Конфигурация в ходе выполнения

[]

$_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

Spec-Zone.ru

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