首頁 >後端開發 >php教程 >如何在 PHP 中使用 file_get_contents() 取得重定向後的真實 URL?

如何在 PHP 中使用 file_get_contents() 取得重定向後的真實 URL?

Linda Hamilton
Linda Hamilton原創
2024-10-28 23:32:30968瀏覽

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

使用file_get_contents 取得重定向後的真實URL

使用file_get_contents() 取得網站內容時,您可能會遇到提供的URL不正確的情況會重新導向到不同的位置。在這種情況下,有必要在重定向後取得實際的 URL。

使用 file_get_contents() 處理重定向

預設使用 file_get_contents() 遵循重定向。為了防止自動重定向,您可以使用自訂流上下文。透過將 'follow_location' 選項設為 false,您可以停用自動重定向。

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

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

造訪實際 URL

停用自動重新導向後,您可以擷取「http_response_header」陣列中的實際 URL。此標頭包含各種 HTTP 回應詳細信息,包括重定向頁面的位置。

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

透過列印“http_response_header”,您可以在陣列中找到“Location”標頭。此標頭值將指示重定向後的實際 URL。

靈感

此解決方案受到 Stack Overflow 討論的啟發:[如何忽略移動標頭在 PHP 中使用 file_get_contents? ](https://stackoverflow.com/questions/7253653/how-do-i-ignore-a-moved-header-with-file-get-contents-in-php)

以上是如何在 PHP 中使用 file_get_contents() 取得重定向後的真實 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn