Опції контексту HTTP
Опції контексту HTTP — Список опцій контексту HTTP
Опис
Опції контексту для транспортних протоколів http://
иhttps://
Опції
method
string
GET
POST
або будь-який інший метод HTTP, який підтримує віддалений сервер.
По умолчанию**GET
**
header
array або string
Додаткові заголовки для надсилання разом із запитом. Значення в цій опції перевизначатимуть інші значення (такі як User-agent:
Host:
иAuthentication:
), даже при следующих переадресацияхLocation:
Таким образом, не рекомендуется устанавливать заголовокHost:
, якщо увімкнено параметр follow_location
user_agent
string
Значення для надсилання разом із заголовком User-Agent:
. Це значення буде використовуватися, якщо заголовок user-agent не був вказаний у опції контексту header
вище.
За замовчуванням використовується значення директиви user_agentиз файла php.ini.
content
string
Додаткові дані для надсилання після заголовків. Зазвичай використовується із запитами POST та PUT.
proxy
string
URI, що вказує на адресу проксі-сервера. (Наприклад, tcp://proxy.example.com:5100
request_fulluri
bool
Когда установлено в**true
**, весь URI буде використаний для формування запиту. (Наприклад, GET http://www.example.com/path/to/file.md HTTP/1.0
). Хоча це нестандартний формат запиту, деякі проксі сервери вимагають його.
По умолчанию**false
**
follow_location
int
Наслідувати переадресації заголовка Location
Для отключения установите в значение
По умолчанию
max_redirects
int
Максимальна кількість переадресацій, якою можна слідувати. Значення або менше означає, що жодних переадресацій не буде зроблено.
По умолчанию20
protocol_version
float
Версія протоколу HTTP.
По умолчанию1.1
, починаючи з PHP 8.0.0; до цієї версії значення за промовчанням було 1.0
timeout
float
Час очікування на читання в секундах, вказаний у вигляді числа з плаваючою точкою (float), наприклад, 10.5
За замовчуванням використовується значення директиви default_socket_timeoutиз файла php.ini.
ignore_errors
bool
Витягти вміст навіть при неуспішних статусах завершення.
По умолчанию**false
**
Приклади
Приклад #1 Вийняти сторінку та надіслати дані методом POST
Loading...
Приклад #2 Ігнорувати переадресації, але витягти заголовки та вміст
Loading...
Примітки
Зауваження Опції контексту нижчого потоку в сокеті
Додаткові опції контексту можуть підтримуватись нижчим транспортним протоколом. Для потоківhttp://
, це стосується опцій контексту для транспортного протоколуtcp://
. Для потоківhttps://
, це стосується опцій контексту для транспортного протоколуssl://
Зауваження Рядок статусу HTTP
Коли ця обгортка потоку слідує за переадресацією,wrapper_data
, що повертається функцією stream_get_meta_data(), необов'язково містить рядок статусу HTTP, який насправді відноситься до змісту даних за індексом
array ( 'wrapper_data' => array ( 0 => 'HTTP/1.0 301 Moved Permanently', 1 => 'Cache-Control: no-cache', 2 => 'Connection: close', 3 => 'Location: http://example.com/foo.jpg', 4 => 'HTTP/1.1 200 OK', ...
Перший запит повернув код
301
(постійне перенаправлення), так що обгортка потоку автоматично послідувала цьому перенаправленню, щоб отримати відповідь200
(индекс =4