Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich die echte URL nach der Umleitung mit file_get_contents() in PHP?

Wie erhalte ich die echte URL nach der Umleitung mit file_get_contents() in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 23:32:30853Durchsuche

How to Get the Real URL After Redirection with file_get_contents() in PHP?

Abrufen der echten URL nach der Umleitung mit file_get_contents

Beim Verwenden von file_get_contents() zum Abrufen von Website-Inhalten kann es zu Situationen kommen, in denen die bereitgestellte URL leitet an einen anderen Ort weiter. In solchen Fällen ist es notwendig, die tatsächliche URL nach der Umleitung abzurufen.

Verarbeitung von Weiterleitungen mit file_get_contents()

Die standardmäßige Verwendung von file_get_contents() folgt Weiterleitungen. Um eine automatische Umleitung zu verhindern, können Sie einen benutzerdefinierten Stream-Kontext verwenden. Indem Sie die Option „follow_location“ auf „false“ setzen, können Sie die automatische Umleitung deaktivieren.

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

$html = file_get_contents('http://www.example.com/', false, $context);</code>

Auf die tatsächliche URL zugreifen

Nachdem Sie die automatische Umleitung deaktiviert haben, können Sie die abrufen tatsächliche URL aus dem Array „http_response_header“. Dieser Header enthält verschiedene HTTP-Antwortdetails, einschließlich des Speicherorts der umgeleiteten Seite.

<code class="php">var_dump($http_response_header);</code>

Durch Drucken des „http_response_header“ können Sie den „Location“-Header innerhalb des Arrays finden. Dieser Header-Wert gibt die tatsächliche URL nach der Umleitung an.

Inspiration

Diese Lösung wurde durch eine Stack Overflow-Diskussion inspiriert: [Wie ignoriere ich einen verschobenen Header mit file_get_contents in PHP?](https://stackoverflow.com/questions/7253653/how-do-i-ignore-a-moved-header-with-file-get-contents-in-php)

Das obige ist der detaillierte Inhalt vonWie erhalte ich die echte URL nach der Umleitung mit file_get_contents() in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn