使用 file_get_contents 检索文件后检索实际 URL
当使用 file_get_contents() 检索网站内容时,提供的 URL 可能会重定向到不同的位置。虽然此功能很方便,但它也需要确定重定向后到达的实际 URL。
实现此目的的一种方法是配置 file_get_contents() 以忽略重定向。方法如下:
$context = stream_context_create(
array(
'http' => array(
'follow_location' => false
)
)
);
$html = file_get_contents('http://www.example.com/', false, $context);
通过在流上下文中将 'follow_location' 设置为 false,file_get_contents() 将检索内容而无需自动跟随重定向。
发出请求后,可以检查 HTTP 响应期间返回的标头以获得最终结果URL:
var_dump($http_response_header);
这将显示一个包含 HTTP 标头的数组,其中包括指示任何重定向后到达的实际 URL 的“位置”标头。
此方法的灵感来自于 Stack Overflow 上线程“How do Iignore a moving-header with file_get_contents in PHP?”
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3