Para una solicitud HTTP ordinaria sin cURL de PHP, pasa un contexto de proxy al contenedor de flujo 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);

Sustituye el endpoint de documentación por tu proxy HTTP o por un candidato de la lista de proxies HTTP. La interfaz de contexto HTTP espera una dirección TCP para proxy. request_fulluri=truecoloca la URI de destino completa en la línea de solicitud, como requieren muchos proxies de reenvío. El tiempo de espera limita la operación de flujo según las reglas de ese contenedor.

Comprueba el valor devuelto y la advertencia antes de analizar el cuerpo; una lectura fallida y una respuesta vacía correcta requieren un tratamiento distinto. Empieza el diagnóstico con este único destino HTTP y una solicitud acotada. HTTPS añade tunelización y comportamiento TLS que deben comprobarse para la versión real del contenedor y de PHP; este ejemplo no establece esas capacidades.

Pasar el contexto en esta llamada mantiene visible la ruta y evita cambiar lecturas de URL no relacionadas. Un contexto predeterminado compartido solo es apropiado cuando la aplicación quiere deliberadamente esa política; las bibliotecas deberían tener en cuenta su alcance más amplio.

Esto configura flujos de PHP, no un identificador cURL creado de forma independiente, un navegador u otro proceso. Identifica el transporte HTTP real de un paquete antes de esperar que use este contexto.

Artículos relacionados