如何通过PHP从其他域加载完整的网页?

时间:2016-05-02 13:26:36

标签: php html

我尝试使用PHP创建程序,我可以加载完整的网页并导航网站,同时仍然停留在不同的域中。我遇到的问题是我无法加载样式表和图片等内容,因为它们是相对链接。我需要一种方法来将相对链接设置为绝对链接。

现在我可以使用这个方便的代码从页面中获取纯HTML:

echo file_get_contents('http://tumblr.com');

我无法使用iframe显示网页。

1 个答案:

答案 0 :(得分:0)

您的代码应该有效,但在运行之前必须将allow_url_fopen设置为on

echo file_get_contents('http://othersiteurl.com');

您也可以使用cURL。例如:

function get_data($url, $timeout = 5) {
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

稍加修改的代码来自:https://davidwalsh.name/curl-download