Spec-Zone.ru › CakePHP 4.4

Класс Client

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

Ограниченные клиенты

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

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

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

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

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

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

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

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

  • $_adapter protected
    Cake\Http\Client\AdapterInterface

    Адаптер для отправки запросов.

  • $_config protected
    array<string, mixed>

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

  • $_configInitialized protected
    bool

    Признак того, что свойство конфигурации уже настроено по умолчанию

  • $_cookies protected
    Cake\Http\Cookie\CookieCollection

    Список куки из ответов, сделанных с этим клиентом.

  • $_defaultConfig protected
    array<string, mixed>

    Конфигурация по умолчанию для клиента.

  • $_mockAdapter protected static
    Cake\Http\Client\Adapter\Mock|null

    Мока адаптер для подстановки запросов в тестах.

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

  • __construct() public

    Создать новый HTTP-клиент.

  • _addAuthentication() protected

    Добавить заголовки аутентификации к запросу.

  • _addProxy() protected

    Добавить заголовки аутентификации прокси.

  • _configDelete() protected

    Удаляет один ключ конфигурации.

  • _configRead() protected

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

  • _configWrite() protected

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

  • _createAuth() protected

    Создать стратегию аутентификации.

  • _createRequest() protected

    Создаёт новый объект запроса на основе параметров.

  • _doRequest() protected

    Вспомогательный метод для запросов, отличных от GET.

  • _mergeOptions() protected

    Производит рекурсивное слияние параметров с конфигурацией области видимости.

  • _sendRequest() protected

    Отправить запрос без перенаправления.

  • _typeHeaders() protected

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

  • addCookie() public

    Добавляет cookie в коллекцию клиента.

  • addMockResponse() public static

    Добавить смоделированный ответ.

  • buildUrl() public

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

  • clearMockResponses() public static

    Очистить все смоделированные ответы

  • configShallow() public

    Объединить предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), который выполняет рекурсивное слияние для вложенных ключей, этот метод выполняет простое слияние.

  • cookies() public

    Получить cookie, сохранённые в клиенте.

  • createFromUrl() public static

    Возвращаемый экземпляр клиента ограничен доменом, портом и схемой, извлечёнными из переданной строки URL. Переданная строка должна содержать схему и домен. По желанию, если в строке указан порт, порт также будет ограничен. Если в URL указан путь, экземпляр клиента будет строить URL с предварительно добавленным им. Другие части строки URL игнорируются.

  • delete() public

    Выполнить запрос DELETE.

  • get() public

    Выполнить запрос GET.

  • getConfig() public

    Возвращает конфигурацию.

  • getConfigOrFail() public

    Возвращает конфигурацию для этого конкретного ключа.

  • head() public

    Выполнить запрос HEAD.

  • options() public

    Выполнить запрос OPTIONS.

  • patch() public

    Выполнить запрос PATCH.

  • post() public

    Выполнить запрос POST.

  • put() public

    Выполнить запрос PUT.

  • send() public

    Отправить запрос.

  • sendRequest() public

    Отправляет запрос PSR-7 и возвращает ответ PSR-7.

  • setConfig() public

    Устанавливает конфигурацию.

  • trace() public

    Выполнить запрос TRACE.

END_OF_DOCUMENT_MARKER

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

__construct() public

__construct(array<string, mixed> $config = [])

Создать новый HTTP-клиент.

Параметры конфигурации

Вы можете задать следующие параметры при создании клиента:

  • host - Имя хоста для выполнения запросов.
  • port - Порт для использования.
  • scheme - Стандартный режим/протокол для использования. По умолчанию http.
  • basePath - Путь для добавления к домену для использования. (/api/v1/)
  • timeout - Таймаут в секундах. По умолчанию 30
  • ssl_verify_peer - Требуется ли проверка SSL-сертификатов. По умолчанию true.
  • ssl_verify_peer_name - Требуется ли проверка имён узлов. По умолчанию true.
  • ssl_verify_depth - Максимальная глубина проверки цепочки сертификатов. По умолчанию 5.
  • ssl_verify_host - Проверить соответствие сертификата и имени хоста. По умолчанию true.
  • redirect - Количество перенаправлений для следования. По умолчанию false.
  • adapter - Имя класса или экземпляр адаптера. По умолчанию \Cake\Http\Client\Adapter\Curl, если curl расширение загружено, иначе \Cake\Http\Client\Adapter\Stream.
  • protocolVersion - Версия HTTP-протокола для использования. По умолчанию 1.1
  • auth - Кредиты аутентификации для использования. Если username и password ключи предоставлены без type ключа, будет предполагаться аутентификация Basic. Вы можете использовать type ключ для определения имени класса адаптера аутентификации для использования. Короткие имена классов разрешаются в пространстве имён Http\Client\Auth.

Параметры

array<string, mixed> $config optional

Параметры конфигурации для клиентов с областью действия.

Исключения

InvalidArgumentException

_addAuthentication() protected

_addAuthentication(Cake\Http\Client\Request $request, array<string, mixed> $options): Cake\Http\Client\Request

Добавить заголовки аутентификации к запросу.

Использует тип аутентификации для выбора правильной стратегии и использования ее методов для добавления заголовков.

Параметры

Cake\Http\Client\Request $request

Запрос для изменения.

array<string, mixed> $options

Массив параметров, содержащий ключ 'auth'.

Возвращает

Cake\Http\Client\Request

_addProxy() protected

_addProxy(Cake\Http\Client\Request $request, array<string, mixed> $options): Cake\Http\Client\Request

Добавить заголовки аутентификации прокси.

Использует тип аутентификации для выбора правильной стратегии и использования ее методов для добавления заголовков.

Параметры

Cake\Http\Client\Request $request

Запрос для изменения.

array<string, mixed> $options

Массив параметров, содержащий ключ 'proxy'.

Возвращает

Cake\Http\Client\Request

_configDelete() protected

_configDelete(string $key): void

Удаляет один ключ конфигурации.

Параметры

string $key

Ключ для удаления.

Возвращает

void

Исключения

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

_configRead() protected

_configRead(string|null $key): mixed

Считывает ключ конфигурации.

Параметры

string|null $key

Ключ для считывания.

Возвращает

mixed

_configWrite() protected

_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

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

Параметры

array<string, mixed>|string $key

Ключ для записи.

mixed $value

Значение для записи.

string|bool $merge optional

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

Возвращает

void

Исключения

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

_createAuth() protected

_createAuth(array $auth, array<string, mixed> $options): object

Создать стратегию аутентификации.

Используйте параметры конфигурации для создания обработчика правильной стратегии аутентификации.

Параметры

array $auth

Параметры аутентификации для использования.

array<string, mixed> $options

Общие параметры запроса для использования.

Возвращает

object

Исключения

Cake\Core\Exception\CakeException
при выборе недействительной стратегии.

_createRequest() protected

_createRequest(string $method, string $url, mixed $data, array<string, mixed> $options): Cake\Http\Client\Request

Создает новый объект запроса на основе параметров.

Параметры

string $method

Имя HTTP-метода.

string $url

URL, включая строку запроса.

mixed $data

Тело запроса.

array<string, mixed> $options

Параметры для использования. Содержит auth, proxy и т.д.

Возвращает

Cake\Http\Client\Request

_doRequest() protected

_doRequest(string $method, string $url, mixed $data, array<string, mixed> $options): Cake\Http\Client\Response

Вспомогательный метод для выполнения запросов, отличных от GET.

Параметры

string $method

HTTP-метод.

string $url

URL для запроса.

mixed $data

Тело запроса.

array<string, mixed> $options

Параметры для использования. Содержит auth, proxy и т.д.

Возвращает

Cake\Http\Client\Response

_mergeOptions() protected

_mergeOptions(array<string, mixed> $options): array

Выполняет рекурсивное слияние параметров с конфигурацией области действия.

Параметры

array<string, mixed> $options

Параметры для слияния.

Возвращает

array

_sendRequest() protected

_sendRequest(Psr\Http\Message\RequestInterface $request, array<string, mixed> $options): Cake\Http\Client\Response

Отправить запрос без перенаправления.

Параметры

Psr\Http\Message\RequestInterface $request

Запрос для отправки.

array<string, mixed> $options

Дополнительные параметры для использования.

Возвращает

Cake\Http\Client\Response

_typeHeaders() protected

_typeHeaders(string $type): array<string, string>

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

Параметры

string $type

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

Возвращает

array<string, string>

Исключения

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

addCookie() public

addCookie(Cake\Http\Cookie\CookieInterface $cookie): $this

Добавляет cookie в коллекцию клиента.

Параметры

Cake\Http\Cookie\CookieInterface $cookie

Объект cookie.

Возвращает

$this

Исключения

InvalidArgumentException

addMockResponse() public static

addMockResponse(string $method, string $url, Cake\Http\Client\Response $response, array<string, mixed> $options = []): void

Добавить смоделированный ответ.

Смоделированные ответы хранятся в адаптере, который вызывается до вызова сетевого адаптера.

Сопоставление запросов

TODO завершить это.

Параметры

  • match Дополнительное замыкание для сопоставления запросов.

Параметры

string $method

HTTP-метод, который моделируется.

string $url

URL, с которым сопоставляется. См. примеры выше.

Cake\Http\Client\Response $response

Ответ, который соответствует запросу.

array<string, mixed> $options optional

См. выше.

Возвращает

void

buildUrl() public

buildUrl(string $url, array|string $query = [], array<string, mixed> $options = []): string

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

Параметры

string $url

Полный URL или только путь.

array|string $query необязательно

Данные запроса для URL.

array<string, mixed> $options необязательно

Параметры конфигурации, сохраненные с Client::config()

Возвращает

string

clearMockResponses() public static

clearMockResponses(): void

Очистить все смоделированные ответы

Возвращает

void

configShallow() public

configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this

Объединить предоставленные параметры конфигурации с существующими. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.

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

$this->configShallow('key', $value);

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

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

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

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

Параметры

array<string, mixed>|string $key

Ключ для установки или массив с полными параметрами конфигурации.

mixed|null $value необязательно

Значение для установки.

Возвращает

$this

cookies() public

cookies(): Cake\Http\Cookie\CookieCollection

Получить куки, сохраненные в Client.

Возвращает

Cake\Http\Cookie\CookieCollection

createFromUrl() public static

createFromUrl(string $url): static

Возвращаемый экземпляр Client ограничен доменом, портом и схемой, извлеченными из переданной строки URL. Переданная строка должна содержать схему и домен. Если в строке указан порт, порт также будет ограничен. Если в URL содержится путь, экземпляр клиента будет создавать URL с этим путем в начале. Другие части строки URL игнорируются.

Параметры

string $url

Строка URL, например, https://example.com

Возвращает

static

Выбрасывает

InvalidArgumentException

delete() public

delete(string $url, mixed $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос DELETE.

Параметры

string $url

URL или путь, к которому нужно обратиться.

mixed $data необязательно

Данные запроса, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

get() public

get(string $url, array|string $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос GET.

Аргумент $data поддерживает специальный _content ключ для предоставления тела запроса в запросе GET. Это обычно не используется, но такие сервисы, как ElasticSearch, используют эту функцию.

Параметры

string $url

URL или путь, к которому нужно обратиться.

array|string $data необязательно

Данные запроса, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

getConfig() public

getConfig(string|null $key = null, mixed $default = null): mixed

Возвращает конфигурацию.

Использование

Чтение всей конфигурации:

$this->getConfig();

Чтение конкретного значения:

$this->getConfig('key');

Чтение вложенного значения:

$this->getConfig('some.nested.key');

Чтение со значением по умолчанию:

$this->getConfig('some-key', 'default-value');

Параметры

string|null $key необязательно

Ключ для получения или null для получения всей конфигурации.

mixed $default необязательно

Возвращаемое значение, когда ключ не существует.

Возвращает

mixed

getConfigOrFail() public

getConfigOrFail(string $key): mixed

Возвращает конфигурацию для конкретного ключа.

Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.

Параметры

string $key

Ключ для получения.

Возвращает

mixed

Выбрасывает

InvalidArgumentException

head() public

head(string $url, array $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос HEAD.

Параметры

string $url

URL или путь, к которому нужно обратиться.

array $data необязательно

Данные строки запроса, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

options() public

options(string $url, mixed $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос OPTIONS.

Параметры

string $url

URL или путь, к которому нужно обратиться.

mixed $data необязательно

Данные запроса, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

patch() public

patch(string $url, mixed $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос PATCH.

Параметры

string $url

URL или путь, к которому нужно обратиться.

mixed $data необязательно

Данные запроса, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

post() public

post(string $url, mixed $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос POST.

Параметры

string $url

URL или путь, к которому нужно обратиться.

mixed $data необязательно

Данные POST, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

put() public

put(string $url, mixed $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос PUT.

Параметры

string $url

URL или путь, к которому нужно обратиться.

mixed $data необязательно

Данные запроса, которые нужно отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

send() public

send(Psr\Http\Message\RequestInterface $request, array<string, mixed> $options = []): Cake\Http\Client\Response

Отправить запрос.

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

Параметры

Psr\Http\Message\RequestInterface $request

Запрос для отправки.

array<string, mixed> $options необязательно

Дополнительные параметры для использования.

Возвращает

Cake\Http\Client\Response

sendRequest() public

sendRequest(RequestInterface $request): Psr\Http\Message\ResponseInterface

Отправляет запрос PSR-7 и возвращает ответ PSR-7.

Параметры

RequestInterface $request

Экземпляр запроса.

Возвращает

Psr\Http\Message\ResponseInterface

Выбрасывает

Psr\Http\Client\ClientExceptionInterface
Если при обработке запроса произошла ошибка.

setConfig() public

setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this

Устанавливает конфигурацию.

Использование

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

$this->setConfig('key', $value);

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

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

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

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

Параметры

array<string, mixed>|string $key

Ключ для установки или полный массив конфигураций.

mixed|null $value необязательно

Значение для установки.

bool $merge необязательно

Флаг для рекурсивного слияния или перезаписи существующей конфигурации, по умолчанию true.

Возвращает

$this

Выбрасывает

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

trace() public

trace(string $url, mixed $data = [], array<string, mixed> $options = []): Cake\Http\Client\Response

Выполнить запрос TRACE.

Параметры

string $url

URL или путь, который требуется запросить.

mixed $data необязательно

Данные запроса, которые необходимо отправить.

array<string, mixed> $options необязательно

Дополнительные параметры для запроса.

Возвращает

Cake\Http\Client\Response

Подробности свойств

$_adapter protected

Адаптер для отправки запросов.

Тип

Cake\Http\Client\AdapterInterface

$_config protected

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

Тип

array<string, mixed>

$_configInitialized protected

Указатель, была ли конфигурация свойств уже настроена по умолчанию

Тип

bool

$_cookies protected

Список куки из ответов, сделанных с этим клиентом.

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

Тип

Cake\Http\Cookie\CookieCollection

$_defaultConfig protected

Конфигурация по умолчанию для клиента.

Тип

array<string, mixed>

$_mockAdapter protected static

Мокаемый адаптер для имитации запросов в тестах.

Тип

Cake\Http\Client\Adapter\Mock|null

© 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/4.4/class-Cake.Http.Client.html

Spec-Zone.ru

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