Recuperando o URL real após a recuperação do arquivo com file_get_contents
Ao usar file_get_contents() para recuperar o conteúdo do site, é possível que o URL fornecido redirecione para um local diferente. Embora esse recurso possa ser conveniente, ele também pode criar a necessidade de determinar o URL real alcançado após o redirecionamento.
Um método para conseguir isso é configurar file_get_contents() para ignorar redirecionamentos. Veja como:
$context = stream_context_create(
array(
'http' => array(
'follow_location' => false
)
)
);
$html = file_get_contents('http://www.example.com/', false, $context);
Ao definir 'follow_location' como false no contexto do stream, file_get_contents() irá recuperar o conteúdo sem seguindo automaticamente os redirecionamentos.
Após fazer a solicitação, os cabeçalhos retornados durante a resposta HTTP podem ser examinados para obter a URL final:
var_dump($http_response_header);
Isso exibirá uma matriz contendo os cabeçalhos HTTP, incluindo o cabeçalho 'Location' que indica o URL real alcançado após qualquer redirecionamento.
Esta abordagem é inspirada na solução fornecida no Stack Overflow no tópico "Como devo ignorar um cabeçalho movido com file_get_contents em PHP?"
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3