PHP从重定向的URL获取数据

时间:2014-04-20 19:32:04

标签: php

我正在尝试从返回XML的站点加载数据,但只有在出于安全目的进行重定向时才会返回XML。如何配置将遵循此重定向并接收输出的PHP请求?

1 个答案:

答案 0 :(得分:1)

file_get_contents应遵循HTTP重定向。根据默认HTTP context options follow_location已启用且max_redirects为20。

在此示例中,$xml应包含原始页面重定向到的位置的XML:

$xml = file_get_contents('http://www.example.com/');

如果这不起作用,您可以通过指定自定义上下文来验证是否未覆盖默认上下文选项:

$context = stream_context_create(
    array (
        'http' => array (
            'follow_location' => true,
            'max_redirects' => 20
        )
    )
);
$xml = file_get_contents('http://www.example.com/', false, $context);