Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich die endgültige URL nach Weiterleitungen erhalten, wenn ich file_get_contents() in PHP verwende?

Wie kann ich die endgültige URL nach Weiterleitungen erhalten, wenn ich file_get_contents() in PHP verwende?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 09:52:29227Durchsuche

How Can I Get the Final URL After Redirects When Using file_get_contents() in PHP?

File_Get_Contents: Enthüllung der endgültigen URL

Problem: Beim Scraping von Inhalten mit file_get_contents() stoßen Sie auf Weiterleitungen, möchten aber die wahre URL aufdecken .

Lösung:

Obwohl file_get_contents() im Allgemeinen Weiterleitungen verarbeitet, verwenden Sie den folgenden Ansatz, wenn Sie explizit Kontrolle benötigen:

<code class="php">// Disable automatic redirect following
$context = stream_context_create([
    'http' => [
        'follow_location' => false
    ]
]);

// Retrieve the content with no redirects
$html = file_get_contents('http://www.example.com/', false, $context);

// Access the HTTP response headers to determine the actual URL
var_dump($http_response_header);</code>

Von Wenn Sie „follow_location“ auf „false“ setzen, verhindern Sie, dass file_get_contents() Weiterleitungen automatisch folgt. Die Antwortheader (verfügbar in $http_response_header) enthalten den „Location“-Header, der die wahre URL nach etwaigen Weiterleitungen angibt.

Tipp: Dieser Ansatz ist von der Lösung inspiriert, die in „How do“ bereitgestellt wird Ich ignoriere einen verschobenen Header mit file_get_contents in PHP?

Das obige ist der detaillierte Inhalt vonWie kann ich die endgültige URL nach Weiterleitungen erhalten, wenn ich file_get_contents() in PHP verwende?. 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