Curl PHP:如何获取网页的所有内容并以浏览器的方式显示?

时间:2015-05-29 08:30:29

标签: php html curl

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<META name="description" content="">
<meta name="keywords" content="">
<title>Amazon</title>
</head>

<body>
<?php
$url = "http://www.amazon.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
echo $data = curl_exec($ch);
?>

</body>

这将在已经访问www.amazon.com的计算机上显示整个网页。 但是,如果计算机无法访问amazon.com域,则大多数内容(图片,脚本)将不可用,因为$ data仅包含网页的html源。 我想知道是否有一种简单的方法可以让curl(或PHP)以“右键单击 - 另存为 - 网页完成”的方式获取网页的所有内容,并将其显示为浏览器。

1 个答案:

答案 0 :(得分:0)

据我所知,curl没有递归下载的选项。我发现this answer解决了这个问题,但只针对curl cmd工具。但正如你所看到的,你必须先下载首页,解析它的链接,然后使用curl下载它们。这也是chrome,firefox等在您保存网页时所做的事情。