首頁  >  文章  >  後端開發  >  如何使用 file_get_contents() 檢索重定向後的實際 URL?

如何使用 file_get_contents() 檢索重定向後的實際 URL?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 10:43:02906瀏覽

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

使用file_get_contents 檢索檔案後檢索實際URL

使用file_get_contents() 擷取網站內容時,提供的URL 可能會重新導向到不同的位置。雖然此功能很方便,但它也需要確定重定向後到達的實際 URL。

實現此目的的一種方法是配置 file_get_contents() 以忽略重定向。操作方法如下:

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

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

透過在流上下文中將 'follow_location' 設為 false,file_get_contents() 將檢索內容而不自動遵循重定向。

發出請求後,返回標頭在HTTP 回應期間可以檢查以獲得最終URL:

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

這將顯示一個包含HTTP 標頭的數組,其中包括指示任何重定向後到達的實際URL 的「位置」標頭。

此方法的靈感來自 Stack Overflow 上線程“How do Iignore a moving-header with file_get_contents in PHP?”中提供的解決方案

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

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