Для звичайного HTTP-запиту без PHP cURL передайте контекст проксі обгортці HTTP-потоку:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

Замініть документаційну кінцеву точку своїм HTTP-проксі або кандидатом зі списку HTTP-проксі. Інтерфейс контексту HTTP очікує TCP-адресу для proxy. request_fulluri=true додає повний URI призначення до рядка запиту, як вимагають багато прямих проксі. Тайм-аут обмежує операцію потоку за правилами цієї обгортки.

Перевірте повернуте значення й попередження перед розбором тіла; невдале читання та порожня успішна відповідь потребують різної обробки. Почніть діагностику з цього єдиного HTTP-призначення й обмеженого запиту. HTTPS додає тунелювання та поведінку TLS, які слід перевірити для фактичної версії обгортки/PHP; цей приклад не встановлює цих можливостей.

Передача контексту в цьому виклику зберігає маршрут видимим і уникає зміни не пов’язаних читань URL. Спільний типовий контекст доречний лише тоді, коли програма свідомо бажає такої політики; бібліотеки мають враховувати його ширшу область.

Це налаштовує потоки PHP, а не самостійно створений дескриптор cURL, браузер чи інший процес. Визначте фактичний HTTP-транспорт пакета, перш ніж очікувати, що він використає цей контекст.

Схожі статті