Преземање HTTP URL преку прокси со PHP file_get_contents
Конфигурирајте го PHP HTTP stream wrapper за напреден прокси, вклучувајќи го форматирањето на барањето и ограничувањата на stream контекстите.
За обично 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 транспорт на пакетот пред да очекувате дека ќе го користи овој контекст.