Heim >Backend-Entwicklung >PHP-Tutorial >Wie erhalte ich die tatsächliche URL nach der Umleitung mit file_get_contents()?

Wie erhalte ich die tatsächliche URL nach der Umleitung mit file_get_contents()?

Susan Sarandon
Susan SarandonOriginal
2024-10-29 04:59:02764Durchsuche

How to Get the Actual URL After Redirection Using file_get_contents()?

Erhalten der echten URL nach der Umleitung mit file_get_contents

Beim Abrufen von Inhalten von einer URL mit file_get_contents() können Weiterleitungen zu neuen problemlos verarbeitet werden URLs. Manchmal ist es jedoch notwendig, die tatsächliche URL zu ermitteln, nachdem die Umleitung erfolgt ist.

Gibt es eine Lösung?

So erhalten Sie die tatsächliche URL, nachdem eine Umleitung stattgefunden hat , ist eine individuelle Lösung erforderlich. File_get_contents() folgt standardmäßig Weiterleitungen, aber dieses Verhalten kann außer Kraft gesetzt werden.

So überschreiben Sie das Weiterleitungsverhalten

So deaktivieren Sie die automatische Umleitung und erhalten die tatsächliche URL:

  1. Erstellen Sie einen Stream-Kontext mit stream_context_create().
  2. Setzen Sie den Parameter „follow_location“ auf „false“, um eine automatische Umleitung zu verhindern.
  3. Verwenden Sie den geänderten Stream-Kontext beim Aufruf von file_get_contents( ).

Code-Snippet:

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

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

var_dump($http_response_header);</code>

Nach der Deaktivierung der automatischen Umleitung enthält das Array $http_response_header Informationen über die tatsächlich besuchte URL und stellt die erforderlichen Informationen bereit Daten zur weiteren Verarbeitung.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die tatsächliche URL nach der Umleitung mit file_get_contents()?. 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