Maison > développement back-end > tutoriel php > Comment récupérer l'URL réelle après la redirection avec file_get_contents() ?

Comment récupérer l'URL réelle après la redirection avec file_get_contents() ?

Mary-Kate Olsen
Libérer: 2024-10-31 10:43:02
original
919 Les gens l'ont consulté

How to Retrieve the Actual URL after Redirection with file_get_contents()?

Récupération de l'URL réelle après la récupération du fichier avec file_get_contents

Lors de l'utilisation de file_get_contents() pour récupérer le contenu d'un site Web, il est possible que l'URL fournie redirige vers un endroit différent. Bien que cette fonctionnalité puisse être pratique, elle peut également créer le besoin de déterminer l'URL réelle atteinte après la redirection.

Une méthode pour y parvenir consiste à configurer file_get_contents() pour ignorer les redirections. Voici comment procéder :

<code class="php">$context = stream_context_create(
    array(
        'http' => array(
            'follow_location' => false
        )
    )
);

$html = file_get_contents('http://www.example.com/', false, $context);</code>
Copier après la connexion

En définissant 'follow_location' sur false dans le contexte du flux, file_get_contents() récupérera le contenu sans suivre automatiquement les redirections.

Après avoir effectué la requête, les en-têtes sont renvoyés pendant la réponse HTTP peut être examiné pour obtenir l'URL finale :

<code class="php">var_dump($http_response_header);</code>
Copier après la connexion

Cela affichera un tableau contenant les en-têtes HTTP, y compris l'en-tête « Location » qui indique l'URL réelle atteinte après toute redirection.

Cette approche s'inspire de la solution fournie sur Stack Overflow dans le fil de discussion "Comment ignorer un en-tête déplacé avec file_get_contents en PHP ?"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal