首页 >后端开发 >php教程 >如何使用 file_get_contents() 获取重定向后的实际 URL?

如何使用 file_get_contents() 获取重定向后的实际 URL?

Susan Sarandon
Susan Sarandon原创
2024-10-29 04:59:02771浏览

How to Get the Actual URL After Redirection Using file_get_contents()?

使用 file_get_contents 获取重定向后的真实 URL

使用 file_get_contents() 从 URL 获取内容时,可以顺利处理重定向到新的内容网址。然而,有时需要确定重定向发生后的实际 URL。

有解决方案吗?

重定向发生后获取真实 URL ,需要定制解决方案。 File_get_contents() 默认情况下遵循重定向,但可以覆盖此行为。

如何覆盖重定向行为

要禁用自动重定向并获取实际 URL:

  1. 使用stream_context_create()创建流上下文。
  2. 将 'follow_location' 参数设置为 false 以防止自动重定向。
  3. 调用 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);

var_dump($http_response_header);</code>

禁用自动重定向后, $http_response_header 数组将包含有关实际访问的 URL 的信息,提供必要的信息数据以供进一步处理。

以上是如何使用 file_get_contents() 获取重定向后的实际 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn