file_get_contents没有返回整个站点

时间:2018-02-19 13:34:57

标签: php wordpress file-get-contents

我一直在尝试使用file_get_contents检索网站的内容(https://www.programsgulf.com/)。不幸的是,结果输出缺少许多元素(图像,格式化,样式等等),而且基本上看起来与我正在尝试检索的原始页面完全不同。

我之前从未尝试使用此相同方法检索的任何其他网址,但出于某种原因,此特定网址(https://www.programsgulf.com/)拒绝正常工作。

我正在使用的代码是:

<?php
$homepage = file_get_contents('https://www.programsgulf.com/');
echo $homepage;
?>

我错过了什么吗?关于如何正常工作的所有建议将不胜感激。谢谢大家的时间和考虑。

1 个答案:

答案 0 :(得分:-1)

您无法回复某人的HTML并希望它能够正常运行。除非服务器具有(错误)配置的same-origin policy规则,否则资产(如脚本,图像或样式表)将因CORS违规而无法加载。这是您无法克服的每个现代浏览器中的保护层。

如果您真的想要这样做,您必须在服务器端下载每个资产,在本地存储它们并将代码中的链接替换为本地副本。这正是web scraping /在线代理软件的工作原理。