За обичан 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 одредишта у линију захтева, како многи forward проксији захтевају. Тајмаут ограничава операцију тока по правилима тог омотача.

Проверите враћену вредност и упозорење пре рашчлањивања тела; неуспешно читање и празни успешан одговор захтевају различито руковање. Започните дијагнозу са овим једним HTTP одредиштем и ограниченим захтевом. HTTPS додаје тунеловање и TLS понашање које се мора проверити за стварну верзију омотача и PHP-а; овај пример не утврђује те могућности.

Прослеђивање контекста на овом позиву држи руту видљивом и избегава промену невезаних читања URL-ова. Заједнички подразумевани контекст је прикладан само када апликација то намерно жели; библиотеке треба да узму у обзир његов шири обим.

Ово конфигурише PHP токове, а не самостално створену cURL ручку, прегледач или други процес. Утврдите стварни HTTP транспорт пакета пре него што очекујете да користи овај контекст.

Повезани чланци