Per a una sol·licitud HTTP ordinària sense PHP cURL, passeu un context de proxy a l'embolcall de flux 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);

Substituïu el punt final de la documentació pel vostre proxy HTTP o per un candidat de la llista de proxies HTTP. La interfície de context HTTP espera una adreça TCP per a proxy. request_fulluri=true posa l'URI de destinació complet a la línia de sol·licitud, com requereixen molts proxies de reenviament. El temps d'espera limita l'operació de flux segons les regles d'aquest embolcall.

Comproveu el valor retornat i l'avís abans d'analitzar el cos; una lectura fallida i una resposta buida correcta requereixen un tractament diferent. Comenceu el diagnòstic amb aquesta única destinació HTTP i sol·licitud limitada. HTTPS afegeix tunelització i comportament TLS que cal comprovar per a la versió real de l'embolcall/PHP; aquest exemple no estableix aquestes capacitats.

Passar el context en aquesta crida manté la ruta visible i evita canviar lectures d'URL no relacionades. Un context predeterminat compartit només és adequat quan l'aplicació vol deliberadament aquesta política; les biblioteques haurien de tenir en compte el seu abast més ampli.

Això configura fluxos PHP, no un identificador cURL creat independentment, ni un navegador ni un altre procés. Identifiqueu el transport HTTP real d'un paquet abans d'esperar que utilitzi aquest context.

Articles relacionats