Recuperar la URL real después de la recuperación de archivos con file_get_contents
Al usar file_get_contents() para recuperar el contenido del sitio web, es posible que la URL proporcionada redirija a una ubicación diferente. Si bien esta característica puede ser conveniente, también puede crear la necesidad de determinar la URL real alcanzada después de la redirección.
Un método para lograr esto es configurar file_get_contents() para ignorar las redirecciones. Aquí se explica cómo:
$context = stream_context_create(
array(
'http' => array(
'follow_location' => false
)
)
);
$html = file_get_contents('http://www.example.com/', false, $context);
Al configurar 'follow_location' en falso en el contexto de la transmisión, file_get_contents() recuperará el contenido sin siguiendo automáticamente las redirecciones.
Después de realizar la solicitud, los encabezados devueltos durante la respuesta HTTP se pueden examinar para obtener la URL final:
var_dump($http_response_header);
Esto mostrará una matriz que contiene los encabezados HTTP, incluido el encabezado 'Ubicación' que indica la URL real alcanzada después de cualquier redireccionamiento.
Este enfoque está inspirado en la solución proporcionada en Stack Overflow en el hilo "Cómo ¿Puedo ignorar un encabezado movido con file_get_contents en PHP?"
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3