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