„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie rufe ich die tatsächliche URL nach der Umleitung mit file_get_contents() ab?

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

Veröffentlicht am 12.11.2024
Durchsuche:242

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:

$context = stream_context_create(
    array(
        'http' => array(
            'follow_location' => false
        )
    )
);

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

Indem Sie 'follow_location' im Stream-Kontext auf false setzen, ruft file_get_contents() den Inhalt ohne ab automatisch nach Weiterleitungen.

Nachdem die Anfrage gestellt wurde, können die während der HTTP-Antwort zurückgegebenen Header untersucht werden, um die endgültige Antwort zu erhalten URL:

var_dump($http_response_header);

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

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

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3