CloudCastle Curl

RequestOptions
in package

FinalYes

Неизменяемые настройки выполнения запроса.

Собирает таймауты, политику перенаправлений и повторов, параметры TLS и прокси, ограничение размера ответа и защиту от SSRF. Значения по умолчанию безопасны: проверка TLS включена, защита от SSRF активна, размер ответа ограничен. Объект неизменяем — каждый with* возвращает копию.

Table of Contents

Methods

__construct()  : mixed
allowsPrivateNetwork()  : bool
Разрешены ли обращения во внутреннюю сеть.
autoReferer()  : bool
Подставлять ли `Referer` при переходе.
connectTimeout()  : float
Лимит установления соединения.
decompresses()  : bool
Запрашивать и распаковывать ли сжатый ответ.
followsRedirects()  : bool
Следовать ли перенаправлениям.
forceIpVersion()  : int|null
Принудительная версия IP (`CURL_IPRESOLVE_*`).
httpVersion()  : HttpVersion
Запрашиваемая версия протокола.
maxRedirects()  : int
Максимальное число перенаправлений.
maxResponseSize()  : int
Предел размера тела ответа.
proxy()  : Proxy|null
Настройки прокси.
retry()  : RetryPolicy
Политика повторов.
share()  : ShareHandle|null
Общий пул cURL.
ssrfProtection()  : bool
Включена ли защита от SSRF.
stripsAuthOnRedirect()  : bool
Снимать ли учётные данные при смене хоста в перенаправлении.
timeout()  : float
Общий лимит времени запроса.
tls()  : Tls
Настройки TLS.
with()  : self
Копия настроек с изменёнными полями.

Methods

__construct()

public __construct([float $timeout = 30.0 ][, float $connectTimeout = 10.0 ][, bool $followRedirects = true ][, int $maxRedirects = 5 ][, bool $stripAuthOnRedirect = true ][, bool $autoReferer = true ][, HttpVersion $httpVersion = HttpVersion::Default ][, bool $decompress = true ][, bool $ssrfProtection = true ][, bool $allowPrivateNetwork = false ][, int $maxResponseSize = 33554432 ][, RetryPolicy $retry = new RetryPolicy() ][, Tls $tls = new Tls() ][, Proxy|null $proxy = null ][, int|null $forceIpVersion = null ][, ShareHandle|null $share = null ]) : mixed
Parameters
$timeout : float = 30.0

общий лимит времени запроса в секундах (0 — без лимита)

$connectTimeout : float = 10.0

лимит установления соединения в секундах

$followRedirects : bool = true

следовать ли перенаправлениям

$maxRedirects : int = 5

максимальное число перенаправлений

$stripAuthOnRedirect : bool = true

снимать ли Authorization/Cookie при смене хоста

$autoReferer : bool = true

подставлять ли заголовок Referer при переходе

$httpVersion : HttpVersion = HttpVersion::Default

запрашиваемая версия протокола

$decompress : bool = true

запрашивать и распаковывать ли сжатый ответ

$ssrfProtection : bool = true

включена ли защита от SSRF

$allowPrivateNetwork : bool = false

разрешены ли обращения во внутреннюю сеть

$maxResponseSize : int = 33554432

предел размера тела ответа в байтах

$retry : RetryPolicy = new RetryPolicy()

политика повторов

$tls : Tls = new Tls()

настройки TLS

$proxy : Proxy|null = null

настройки прокси или null

$forceIpVersion : int|null = null

принудительная версия IP (CURL_IPRESOLVE_*) или null

$share : ShareHandle|null = null

общий пул cURL (DNS/TLS/cookie/соединения) или null

allowsPrivateNetwork()

Разрешены ли обращения во внутреннюю сеть.

public allowsPrivateNetwork() : bool
Return values
bool

true, если приватные адреса допускаются

autoReferer()

Подставлять ли `Referer` при переходе.

public autoReferer() : bool
Return values
bool

true, если заголовок подставляется

connectTimeout()

Лимит установления соединения.

public connectTimeout() : float
Return values
float

секунды

decompresses()

Запрашивать и распаковывать ли сжатый ответ.

public decompresses() : bool
Return values
bool

true, если декомпрессия включена

followsRedirects()

Следовать ли перенаправлениям.

public followsRedirects() : bool
Return values
bool

true, если перенаправления обрабатываются

forceIpVersion()

Принудительная версия IP (`CURL_IPRESOLVE_*`).

public forceIpVersion() : int|null
Return values
int|null

версия или null

maxRedirects()

Максимальное число перенаправлений.

public maxRedirects() : int
Return values
int

лимит перенаправлений

maxResponseSize()

Предел размера тела ответа.

public maxResponseSize() : int
Return values
int

размер в байтах

proxy()

Настройки прокси.

public proxy() : Proxy|null
Return values
Proxy|null

настройки прокси или null

ssrfProtection()

Включена ли защита от SSRF.

public ssrfProtection() : bool
Return values
bool

true, если защита активна

stripsAuthOnRedirect()

Снимать ли учётные данные при смене хоста в перенаправлении.

public stripsAuthOnRedirect() : bool
Return values
bool

true, если Authorization/Cookie снимаются

timeout()

Общий лимит времени запроса.

public timeout() : float
Return values
float

секунды (0 — без лимита)

tls()

Настройки TLS.

public tls() : Tls
Return values
Tls

настройки TLS

with()

Копия настроек с изменёнными полями.

public with([float|null $timeout = null ][, float|null $connectTimeout = null ][, bool|null $followRedirects = null ][, int|null $maxRedirects = null ][, bool|null $stripAuthOnRedirect = null ][, bool|null $autoReferer = null ][, HttpVersion|null $httpVersion = null ][, bool|null $decompress = null ][, bool|null $ssrfProtection = null ][, bool|null $allowPrivateNetwork = null ][, int|null $maxResponseSize = null ][, RetryPolicy|null $retry = null ][, Tls|null $tls = null ][, Proxy|null $proxy = null ][, bool $clearProxy = false ][, int|null $forceIpVersion = null ][, ShareHandle|null $share = null ]) : self

Любой параметр со значением null (для нескалярных — специальный маркер) сохраняет текущее значение. Метод избавляет от повторения всех аргументов конструктора при точечном изменении.

Parameters
$timeout : float|null = null

новый общий таймаут

$connectTimeout : float|null = null

новый таймаут соединения

$followRedirects : bool|null = null

новый флаг перенаправлений

$maxRedirects : int|null = null

новый лимит перенаправлений

$stripAuthOnRedirect : bool|null = null

новый флаг снятия учётных данных

$autoReferer : bool|null = null

новый флаг Referer

$httpVersion : HttpVersion|null = null

новая версия протокола

$decompress : bool|null = null

новый флаг декомпрессии

$ssrfProtection : bool|null = null

новый флаг защиты от SSRF

$allowPrivateNetwork : bool|null = null

новый флаг приватной сети

$maxResponseSize : int|null = null

новый предел размера ответа

$retry : RetryPolicy|null = null

новая политика повторов

$tls : Tls|null = null

новые настройки TLS

$proxy : Proxy|null = null

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

$clearProxy : bool = false

убрать ли прокси (при true $proxy игнорируется)

$forceIpVersion : int|null = null

новая версия IP

$share : ShareHandle|null = null

новый общий пул cURL

Return values
self

новый экземпляр настроек

On this page

Search results