Obter um URL HTTP através de um proxy com PHP file_get_contents
Configure o wrapper de fluxo HTTP do PHP para um proxy de encaminhamento, incluindo a formatação do pedido e os limites dos contextos de fluxo.
Para um pedido HTTP comum sem cURL do PHP, passe um contexto de proxy ao wrapper 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);
Substitua o endpoint de documentação pelo seu proxy HTTP ou por um candidato da lista de proxies HTTP. A interface de contexto HTTP espera um endereço TCP para proxy. request_fulluri=truecoloca o URI de destino completo na linha do pedido, como muitos proxies de encaminhamento exigem. O tempo limite limita a operação de fluxo segundo as regras desse wrapper.
Verifique o valor devolvido e o aviso antes de analisar o corpo; uma leitura falhada e uma resposta vazia bem-sucedida exigem tratamentos diferentes. Comece o diagnóstico com este único destino HTTP e um pedido limitado. O HTTPS acrescenta tunelização e comportamento TLS que têm de ser verificados para a versão real do wrapper e do PHP; este exemplo não estabelece essas capacidades.
Passar o contexto nesta chamada mantém a rota visível e evita alterar leituras de URL não relacionadas. Um contexto predefinido partilhado só é adequado quando a aplicação quer deliberadamente essa política; as bibliotecas devem ter em conta o seu âmbito mais amplo.
Isto configura fluxos do PHP, não um identificador cURL criado independentemente, um navegador ou outro processo. Identifique o transporte HTTP real de um pacote antes de esperar que use este contexto.