Obter un URL HTTP a través dun proxy con file_get_contents de PHP
Configura o contedor de fluxo HTTP de PHP para un proxy de reenvío, incluído o formato da solicitude e os límites dos contextos de fluxo.
Para unha solicitude HTTP común sen cURL de PHP, pasa un contexto de proxy ao contedor de fluxo 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);
Substitúe o endpoint de documentación polo teu proxy HTTP ou por un candidato da lista de proxies HTTP. A interface de contexto HTTP espera un enderezo TCP para proxy. request_fulluri=truecoloca o URI de destino completo na liña de solicitude, como requiren moitos proxies de reenvío. O tempo de espera limita a operación de fluxo segundo as regras dese contedor.
Comproba o valor devolto e o aviso antes de analizar o corpo; unha lectura fallida e unha resposta baleira correcta requiren un tratamento distinto. Comeza o diagnóstico con este único destino HTTP e unha solicitude limitada. HTTPS engade tunelización e comportamento TLS que deben comprobarse para a versión real do contedor e de PHP; este exemplo non establece esas capacidades.
Pasar o contexto nesta chamada mantén a ruta visible e evita cambiar lecturas de URL non relacionadas. Un contexto predeterminado compartido só é axeitado cando a aplicación quere deliberadamente esa política; as bibliotecas deberían ter en conta o seu alcance máis amplo.
Isto configura fluxos de PHP, non un identificador cURL creado de forma independente, un navegador ou outro proceso. Identifica o transporte HTTP real dun paquete antes de esperar que use este contexto.