За обикновена 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 транспорт на даден пакет, преди да очаквате да използва този контекст.

Подобни статии