Core_Http
in package
Abstract HTTP
Доступные методы:
-
clear() очистить предыдущие данные
-
instance($name = 'default') получить Core_Http указанного типа, например, curl или socket
-
config($array) перезаписать конфигурационные данные, загруженные из файла
-
getConfig() получить массив с конфигурационными данными
-
additionalHeader($name, $value) установить дополнительный заголовок $name со значением $value. Если $value установлен в NULL, то ранее добавленное значение будет удалено.
-
addOption($name, $value) установить дополнительную опцию $name со значением $value, используется, например, для задания опций cUrl
-
method('GET') метод HTTP запроса, по умолчанию GET
-
timeout(10) таймаут соединения, по умолчанию 10
-
port(80) порт соединения, по умолчанию 80
-
contentType('application/x-www-form-urlencoded') Content-type запроса, по умолчанию 'application/x-www-form-urlencoded'
-
rawData($data) все данные, передаваемые в HTTP POST-запросе (передача массива закодирует данные в виде multipart/form-data)
-
userAgent($userAgent) установить пользовательский агент, по умолчанию 'Mozilla/5.0 (compatible; HostCMS/7.x; +https://www.hostcms.ru)'
-
url($url) адрес загружаемого ресурса
-
referer($referer) содержимое заголовка Referer, если NULL, то будет установлен в "{схема}://{запрошенный домен}"
-
data($key, $value) добавить POST-данные
-
execute() отправить запрос
-
getHeaders() получить заголовки ответа
-
parseHeaders() получить заголовки в виде массива
-
parseHttpStatusCode('HTTP/1.1 200 OK') получить код ответа по переданному статусу
-
getBody() получить сырой ответ, может быть сжат и разбит на chunk-и
-
getDecompressedBody() получить распакованный ответ
-
getErrno() получить номер ошибки
-
getError() получить текст ошибки
$Core_Http = Core_Http::instance()
->clear()
->url('https://www.site.com')
->additionalHeader('Content-Type', 'text/html')
->execute();
$aHeaders = $Core_Http->parseHeaders();
print_r($aHeaders);
$sBody = $Core_Http->getDecompressedBody();
echo htmlspecialchars($sBody);
Tags
Table of Contents
Properties
- $_additionalHeaders : array<string|int, mixed>
- Additional headers
- $_body : string
- Body of the request
- $_config : array<string|int, mixed>
- Additional parameters
- $_contentType : string
- Request Content-type
- $_data : array<string|int, mixed>
- Additional data of the request
- $_errno : int
- Error number
- $_error : string|null
- Error message
- $_headers : string
- Headers of the request
- $_method : string
- Request method
- $_originalConfig : mixed
- Original Config
- $_parseFieldLink : null|string|resource
- Pointer for _parseChunk()
- $_port : int
- Request port
- $_rawData : string
- Request Raw Data
- $_referer : string
- Request referer
- $_requestParseBodyFile : array<string|int, mixed>
- FILE of requestParseBody()
- $_requestParseBodyPost : array<string|int, mixed>
- POST of requestParseBody()
- $_timeout : string
- Request time out
- $_url : string
- Request URL
- $_userAgent : string
- Request User-Agent
- $_instance : array<string|int, mixed>
- The singleton instance.
Methods
- __construct() : mixed
- Constructor.
- additionalHeader() : self
- Add additional headers
- addOption() : self
- Add option
- clear() : self
- Clear object
- config() : self
- Set additional parameters
- contentType() : self
- Set Content-type
- data() : self
- Additional POST data
- execute() : mixed
- Executes the business logic.
- generateUserAgent() : string
- Get random User Agent
- getBody() : string
- Get body
- getConfig() : array<string|int, mixed>
- Get config
- getData() : array<string|int, mixed>
- Get POST-data
- getDecompressedBody() : string
- Get decompressed body
- getErrno() : int
- Get Error number
- getError() : string|null
- Get Error message
- getHeaders() : string
- Get headers
- getOs() : string
- Get random OS for $browser and $version
- getUrl() : string
- Get URL
- instance() : object
- Register an existing instance as a singleton.
- method() : self
- Set HTTP method
- parseHeaders() : array<string|int, mixed>
- Parse header
- parseHttpStatusCode() : int
- Parse HTTP status code
- port() : self
- Set port
- rawData() : self
- Set Raw request data
- referer() : self
- Set HTTP referer
- requestParseBody() : array<string|int, mixed>
- Parse and consume php://input and return the values for $_POST and $_FILES variables.
- sanitizeHeader() : string
- Sanitize Header Value
- timeout() : self
- Set timeout
- url() : self
- Set URL
- userAgent() : self
- Set HTTP User-Agent
- _execute() : mixed
- Send request
- _getDriverName() : string
- Get full driver name
- _init() : self
- Initialize object
- _parseChunk() : rest
- Parse chunk for requestParseBody()
- _parseHeaders() : array<string|int, mixed>
- Parse header
- _parseHeadersCallback() : string
- Parse header callback
Properties
$_additionalHeaders
Additional headers
protected
array<string|int, mixed>
$_additionalHeaders
= array()
$_body
Body of the request
protected
string
$_body
= \NULL
$_config
Additional parameters
protected
array<string|int, mixed>
$_config
= array()
$_contentType
Request Content-type
protected
string
$_contentType
= \NULL
$_data
Additional data of the request
protected
array<string|int, mixed>
$_data
= array()
$_errno
Error number
protected
int
$_errno
= 0
$_error
Error message
protected
string|null
$_error
= \NULL
$_headers
Headers of the request
protected
string
$_headers
= \NULL
$_method
Request method
protected
string
$_method
= \NULL
$_originalConfig
Original Config
protected
mixed
$_originalConfig
= \NULL
$_parseFieldLink
Pointer for _parseChunk()
protected
static null|string|resource
$_parseFieldLink
= \NULL
$_port
Request port
protected
int
$_port
= \NULL
$_rawData
Request Raw Data
protected
string
$_rawData
= \NULL
$_referer
Request referer
protected
string
$_referer
= \NULL
$_requestParseBodyFile
FILE of requestParseBody()
protected
static array<string|int, mixed>
$_requestParseBodyFile
= array()
$_requestParseBodyPost
POST of requestParseBody()
protected
static array<string|int, mixed>
$_requestParseBodyPost
= array()
$_timeout
Request time out
protected
string
$_timeout
= \NULL
$_url
Request URL
protected
string
$_url
= \NULL
$_userAgent
Request User-Agent
protected
string
$_userAgent
= \NULL
$_instance
The singleton instance.
private
static array<string|int, mixed>
$_instance
= array()
Methods
__construct()
Constructor.
public
__construct(mixed $config) : mixed
Parameters
- $config : mixed
additionalHeader()
Add additional headers
public
additionalHeader(string $name, string $value) : self
Parameters
- $name : string
-
Header Name
- $value : string
-
Value
Return values
selfaddOption()
Add option
public
addOption(string $name, string $value) : self
Parameters
- $name : string
-
Header name
- $value : string
-
Value
Return values
selfclear()
Clear object
public
clear() : self
Return values
selfconfig()
Set additional parameters
public
config(array<string|int, mixed> $array) : self
Parameters
- $array : array<string|int, mixed>
-
params
Return values
selfcontentType()
Set Content-type
public
contentType(string $contentType) : self
Parameters
- $contentType : string
-
content type
Return values
selfdata()
Additional POST data
public
data(string $key, string $value) : self
Parameters
- $key : string
-
key
- $value : string
-
value
Return values
selfexecute()
Executes the business logic.
public
execute() : mixed
generateUserAgent()
Get random User Agent
public
static generateUserAgent([string|null $browser = NULL ]) : string
Parameters
- $browser : string|null = NULL
-
'chrome' or 'firefox', random if NULL
Return values
stringgetBody()
Get body
public
getBody() : string
Return values
stringgetConfig()
Get config
public
getConfig() : array<string|int, mixed>
Return values
array<string|int, mixed>getData()
Get POST-data
public
getData() : array<string|int, mixed>
Return values
array<string|int, mixed>getDecompressedBody()
Get decompressed body
public
getDecompressedBody() : string
Return values
stringgetErrno()
Get Error number
public
getErrno() : int
Return values
intgetError()
Get Error message
public
getError() : string|null
Return values
string|nullgetHeaders()
Get headers
public
getHeaders() : string
Return values
stringgetOs()
Get random OS for $browser and $version
public
static getOs(string $browser[, string $version = NULL ]) : string
Parameters
- $browser : string
- $version : string = NULL
Return values
stringgetUrl()
Get URL
public
getUrl() : string
Return values
string —URL
instance()
Register an existing instance as a singleton.
public
static instance([string $name = 'default' ]) : object
Parameters
- $name : string = 'default'
Return values
objectmethod()
Set HTTP method
public
method(string $method) : self
Parameters
- $method : string
-
method
Return values
selfparseHeaders()
Parse header
public
parseHeaders() : array<string|int, mixed>
Return values
array<string|int, mixed>parseHttpStatusCode()
Parse HTTP status code
public
parseHttpStatusCode(string $status) : int
Parameters
- $status : string
-
status code, e.g. 'HTTP/1.1 200 OK'
Return values
int —e.g. '200'
port()
Set port
public
port(string $port) : self
Parameters
- $port : string
-
port
Return values
selfrawData()
Set Raw request data
public
rawData(string $data) : self
Parameters
- $data : string
-
Raw data
Return values
selfreferer()
Set HTTP referer
public
referer(string $referer) : self
Parameters
- $referer : string
-
referer
Return values
selfrequestParseBody()
Parse and consume php://input and return the values for $_POST and $_FILES variables.
public
static requestParseBody(string $boundary) : array<string|int, mixed>
Parameters
- $boundary : string
Return values
array<string|int, mixed> —Array with key 0 being the post data (similar to $_POST), and key 1 being the files ($_FILES).
sanitizeHeader()
Sanitize Header Value
public
static sanitizeHeader(string $value) : string
Parameters
- $value : string
Return values
stringtimeout()
Set timeout
public
timeout(string $timeout) : self
Parameters
- $timeout : string
-
timeout
Return values
selfurl()
Set URL
public
url(string $url) : self
Parameters
- $url : string
-
URL
Return values
selfuserAgent()
Set HTTP User-Agent
public
userAgent(string $userAgent) : self
Parameters
- $userAgent : string
-
User-Agent
Return values
self_execute()
Send request
protected
abstract _execute(string $host, string $path, string $query[, mixed $scheme = 'http' ]) : mixed
Parameters
- $host : string
-
host
- $path : string
-
path
- $query : string
-
query
- $scheme : mixed = 'http'
_getDriverName()
Get full driver name
protected
static _getDriverName(string $driver) : string
Parameters
- $driver : string
-
driver name
Return values
string_init()
Initialize object
protected
_init() : self
Return values
self_parseChunk()
Parse chunk for requestParseBody()
protected
static _parseChunk(string $chunk, string $boundary) : rest
Parameters
- $chunk : string
- $boundary : string
Return values
rest —of chunk
_parseHeaders()
Parse header
protected
_parseHeaders(string $header) : array<string|int, mixed>
Parameters
- $header : string
Return values
array<string|int, mixed>_parseHeadersCallback()
Parse header callback
protected
_parseHeadersCallback(array<string|int, mixed> $matches) : string
Parameters
- $matches : array<string|int, mixed>