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

Mary-Kate Olsen
Freigeben: 2024-10-31 10:43:02
Original
848 Leute haben es durchsucht

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

Abrufen der tatsächlichen URL nach dem Dateiabruf mit file_get_contents

Bei Verwendung von file_get_contents() zum Abrufen von Website-Inhalten ist es möglich, dass die bereitgestellte URL umleitet an einen anderen Ort. Obwohl diese Funktion praktisch sein kann, kann sie auch dazu führen, dass die tatsächliche URL ermittelt werden muss, die nach der Umleitung erreicht wird.

Eine Methode, dies zu erreichen, besteht darin, file_get_contents() so zu konfigurieren, dass Weiterleitungen ignoriert werden. So geht's:

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

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

Indem Sie „follow_location“ im Stream-Kontext auf „false“ setzen, ruft file_get_contents() den Inhalt ab, ohne automatisch Weiterleitungen zu folgen.

Nach der Anfrage werden die Header zurückgegeben Während der HTTP-Antwort kann untersucht werden, um die endgültige URL zu erhalten:

<code class="php">var_dump($http_response_header);</code>
Nach dem Login kopieren

Dadurch wird ein Array mit den HTTP-Headern angezeigt, einschließlich des „Location“-Headers, der die tatsächliche URL angibt, die nach etwaigen Weiterleitungen erreicht wurde.

Dieser Ansatz ist inspiriert von der Lösung auf Stack Overflow im Thread „Wie ignoriere ich einen verschobenen Header mit file_get_contents in PHP?“

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!