如何通过PHP从不同的域加载完整的网页


how can I load a full webpage from a different domain through PHP?

我正在尝试使用PHP创建一个程序,在这个程序中,我可以加载一个完整的网页并浏览网站,同时仍然停留在不同的域中。我遇到的问题是,我无法加载样式表和图像之类的东西,因为它们是相对链接。我需要一种将相对链接转化为绝对链接的方法。

现在,我可以使用以下方便的代码从页面中获得纯HTML:

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

我无法使用iframe来显示网页。

您的代码应该可以工作,但在运行之前必须将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