首页  >  文章  >  后端开发  >  如何使用 file_get_contents() 检索重定向后的实际 URL?

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 10:43:02833浏览

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