使用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中文網其他相關文章!