За обично HTTP барање без PHP cURL, предајте прокси контекст на HTTP stream wrapper-от:

$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 во линијата на барањето, како што бараат многу напредни прокси. Временското ограничување ја ограничува stream операцијата според правилата на тој wrapper.

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

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

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

Поврзани статии