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

时间:2017-06-21 23:47:53

标签: php curl laravel-5 laravel-5.4 file-get-contents

我正在尝试在自己的网站上获取网址的HTML。 该网站建有laravel 5.4。

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

但由于某种原因,即使我在localhost上运行,我也会继续加载。

这是我根据一些问题尝试过的(Can't seem to get a web page's contents via cURL - user agent and HTTP headers both set?)我在堆栈溢出时看到过:

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

AND

$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内容

2 个答案:

答案 0 :(得分:2)

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

如果您的文件名为index.html且位于名为template的文件夹中,则使用网址template/index不正确,而是必须将其更改为{ {1}}。

修改

我误读了部分问题。显然template/index.html在Laravel路线上不起作用,我建议您参考this answer

从链接:

file_get_contents()

如果网址没有指向正确的路线,则可能需要调整网址。

答案 1 :(得分:0)

您正在尝试访问一条很好的laravel路线,但是您正在使用它的方式PHP将解释为本地文件名并且路线不会被处理。您需要使用URL的完全限定域名和路径。