从 URL(自己的站点)获取 HTML 内容

Get HTML content from URL (of own site)

我正在尝试在我自己的网站上获取 URL 的 HTML。 该站点是用 laravel 5.4 构建的。

我正在尝试获取端点的 HTML 内容,以便我可以将其作为纯文本存储在数据库中。

但出于某种原因,即使我 运行 在本地主机上,我仍然不断加载。

这是我根据一些问题尝试过的 () 我在此处看到的关于堆栈溢出的内容:

$url = url("template/1/11"); // http://localhost:8000/template/1/11
$html = file_get_contents($url);

$url = url("template/1/11"); // http://localhost:8000/template/1/11  
$c = curl_init($url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
//curl_setopt(... other options you want...)

$html = curl_exec($c);

if (curl_error($c))
    die(curl_error($c));

// Get the status code
$status = curl_getinfo($c, CURLINFO_HTTP_CODE);

curl_close($c);

我出现这种行为有什么原因吗? 请帮助我只需要 URL

的 HTML 内容

您正在尝试访问一个 laravel 路由,这很好,但是您这样做的方式 PHP 将被解释为本地文件名并且不会处理该路由。您需要为 URL.

使用完全限定的域名和路径

您必须在 URL 中指定文件的扩展名。

如果您的文件名为 index.html 并且位于名为 template 的文件夹中,将 url 用作 template/index 是不正确的,您必须更改它至 template/index.html.

编辑:

我误读了问题的一部分。显然 file_get_contents() 不适用于 Laravel 路线,我建议您参考 .

来自link:

$html = View::make($url)->render();

如果它没有指向正确的路线,您可能需要调整 url。