Опції контексту HTTP

Опції контексту HTTP — Список опцій контексту HTTP

Опис

Опції контексту для транспортних протоколів http://иhttps://

Опції

methodstring

GET POST або будь-який інший метод HTTP, який підтримує віддалений сервер.

По умолчанию**GET**

header array або string

Додаткові заголовки для надсилання разом із запитом. Значення в цій опції перевизначатимуть інші значення (такі як User-agent: Host:иAuthentication:), даже при следующих переадресацияхLocation:Таким образом, не рекомендуется устанавливать заголовокHost:, якщо увімкнено параметр follow_location

user_agentstring

Значення для надсилання разом із заголовком User-Agent:. Це значення буде використовуватися, якщо заголовок user-agent не був вказаний у опції контексту header вище.

За замовчуванням використовується значення директиви user_agentиз файла php.ini.

contentstring

Додаткові дані для надсилання після заголовків. Зазвичай використовується із запитами POST та PUT.

proxystring

URI, що вказує на адресу проксі-сервера. (Наприклад, tcp://proxy.example.com:5100

request_fulluribool

Когда установлено в**true**, весь URI буде використаний для формування запиту. (Наприклад, GET http://www.example.com/path/to/file.md HTTP/1.0). Хоча це нестандартний формат запиту, деякі проксі сервери вимагають його.

По умолчанию**false**

follow_locationint

Наслідувати переадресації заголовка LocationДля отключения установите в значение

По умолчанию

max_redirectsint

Максимальна кількість переадресацій, якою можна слідувати. Значення або менше означає, що жодних переадресацій не буде зроблено.

По умолчанию20

protocol_versionfloat

Версія протоколу HTTP.

По умолчанию1.1, починаючи з PHP 8.0.0; до цієї версії значення за промовчанням було 1.0

timeoutfloat

Час очікування на читання в секундах, вказаний у вигляді числа з плаваючою точкою (float), наприклад, 10.5

За замовчуванням використовується значення директиви default_socket_timeoutиз файла php.ini.

ignore_errorsbool

Витягти вміст навіть при неуспішних статусах завершення.

По умолчанию**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

Дивіться також