-1

网址 = http://www.homegate.ch/mieten/immobilie-suchen

有人可以向我解释以下内容:当我在浏览器中请求 url 时,没有问题(一切正常)。但是如果我用 PHP 的 file_get_contents 请求 url,就会有一个重定向循环:

echo file_get_contents('http://www.homegate.ch/mieten/immobilie-suchen');

我发现这个循环是由 JS 完成的,但我不知道如何用 PHP 解决这个问题。我应该改用 curl 吗?但是我怎样才能遵循这个由 javascript 完成的重定向呢?

希望你能帮助我,谢谢!

4

1 回答 1

1

而不是file_get_contents()用来curl获取数据:

它将数据表示为客户端,

它允许您使用许多不同类型的协议连接和通信到许多不同类型的服务器。libcurl 目前支持 http、https、ftp、gopher、telnet、dict、file 和 ldap 协议`

function get_data ($uri) {
    if (!function_exists('curl_init')){ 
    die('Curl is not installed!');
    }

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $uri);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

如果没有解决这个问题,这是因为 Javascript 不允许 curl 重定向站点:follow redirects with curl in php

于 2013-02-22T16:41:08.273 回答