Download the PHP package andrey-tech/http-client-php without Composer
On this page you can find all versions of the php package andrey-tech/http-client-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andrey-tech/http-client-php
More information about andrey-tech/http-client-php
Files in andrey-tech/http-client-php
Package http-client-php
Short Description Простой НТТР(S) клиент на PHP7+ с троттлингом запросов и поддержкой маркера BOM в теле сообщения формата JSON
License MIT
Homepage https://github.com/andrey-tech/http-client-php
Informations about the package http-client-php
HTTP(S) Client PHP
Простой НТТР(S) клиент на PHP7+ с троттлингом запросов, поддержкой маркера BOM в теле сообщения формата JSON и выводом отладочной информации о запросах и ответах в STDOUT.
Содержание
- Требования
- Установка
- Класс
HTTP
- Методы класса
- Параметры
- Пример
- Автор
- Лицензия
Требования
- PHP >= 7.0;
- Произвольный автозагрузчик классов, реализующий стандарт PSR-4.
Установка
Установка через composer:
или добавить
в секцию require файла composer.json.
Класс HTTP
Класс \App\HTTP\НТТР
обеспечивает:
- выполнение запросов по протоколу НТТР(S);
- настраиваемый троттлинг запросов;
- проверку SSL/TLS-сертификата сервера c возможностью ее отключения;
- удаление или добавление маркера ВОМ в тело сообщений формата JSON;
- вывод отладочной информации о запросах и ответах в STDOUT.
При возникновении ошибок выбрасывается исключение класса \App\HTTP\HTTPException
.
Методы класса
__construct()
Конструктор класса.request(string $url, string $method = 'GET', array $params = [], array $requestHeaders = [], array $curlOptions = []) :?array
Отправляет запрос по протоколу HTTP(S). Возвращает декодированный ответ сервера илиnull
при возникновении ошибки cURL.$url
- URL запроса;$method
- метод запроса;$params
- параметры запроса;$curlOptions
- дополнительные параметры для cURL.
isSuccess(array $successStatusCodes = []) :bool
Возвращает статус успешности выполнения запроса.$successStatisCodes
Коды статуса НТТР, соответствующие успешному выполнению запроса. Если не передан, то используется значение по умолчанию, установленное в свойстве$successStatusCodes
.
getHTTPCode() :int
Возвращает код статуса HTTP для последнего запроса.getResponse() :?string
Возвращает тело последнего ответа в сыром виде.getResponseHeaders() :array
Возвращает заголовки последнего ответа.getCurlInfo() :array
Возвращает информацию о последней операции cURL.
Параметры
Дополнительные параметры устанавливаются через публичные свойства объекта класса \App\HTTP\HTTP
:
Свойство | По умолчанию | Описание |
---|---|---|
$debugLevel |
\App\HTTP\HTTP::DEBUG_NONE |
Устанавливает уровень вывода отладочной информации о запросах в STDOUT (битовая маска, составляемая из значений DEBUG_NONE, DEBUG_URL, DEBUG_HEADERS, DEBUG_CONTENT) |
$throttle |
0 | Максимальное число HTTP запросов в секунду (0 - троттлинг отключен) |
$addBOM |
false | Добавлять маркер ВОМ UTF-8 (EFBBBF) к запросам в формате JSON |
$useCookies |
false | Использовать cookies в запросах |
$cookieFile |
'temp/cookies.txt' | Путь к файлу для хранения cookies |
$verifySSLCertificate |
true | Включить проверку SSL/TLS-сертификата сервера |
$SSLCertificateFile |
'cacert.pem' | Устанавливает файл SSL/TLS-сертификатов X.509 корневых удостоверяющих центров (CA) в формате РЕМ (установка в null означает использовать файл, указанный в параметре curl.cainfo файла php.ini) |
$userAgent |
'HTTP-client/3.x.x' | Устанавливает НТТР заголовок UserAgent в запросах |
$curlConnectTimeout |
60 | Устанавливает таймаут соединения, секунды |
$curlTimeout |
60 | Устанавливает таймаут обмена данными, секунды |
$successStatusCodes |
[ 200 ] | Коды статуса НТТР, соответствующие успешному выполнению запроса |
Пример
Пример отладочных сообщений:
Автор
© 2019-2022 andrey-tech
Лицензия
Данная библиотека распространяется на условиях лицензии MIT.
All versions of http-client-php with dependencies
ext-curl Version *
ext-json Version *