get_meta_tags不适用于同一域或来源

时间:2018-01-04 11:14:58

标签: php codeigniter-3 get-meta-tags

我正在尝试使用 get_meta_tags 函数来获取网址的元信息。它没有给我来自同一来源或域的网址元信息。

就像我从控制器http://example.com/fetch

那样做
$tags=get_meta_tags("http://example.com/blog/my-awesome-blog-post");
print_r($tags);

尝试在我的网站http://example.com/blog/my-awesome-blog-post上获取网页的元信息。 共享两个屏幕截图:

开发实例错误: Dev error

本地实例:

Local Image

获取无法打开流的错误:已达到重定向限制,正在中止。这是我得到的错误。

我尝试了不同的网址(Facebook除外)。我获得了成功的结果。

无论如何我可以实现这个功能。

1 个答案:

答案 0 :(得分:2)

我不知道您的localhost,但这是我从您的方案中推断出来的。

每次PHP尝试访问网址时,您的网站(或您正在访问的网页)都会重定向到新的网址。当达到最大重定向限制,即20时,PHP停止跟随并给出错误。

这种情况正在发生,因为PHP请求是一个简单的http请求,它不处理任何会话/ cookie值。因此,您的网站始终将其视为新请求并保持重定向。

要验证,请注意,当您在隐身窗口中打开网址(https://dev.kidengage.com/library)时,会将您重定向到https://dev.kidengage.com/hyderabad以设置用户的位置。并且,在设置cookie之后,不再对给定的URL进行重定向。

这是重定向发生的地方。

因此,您需要先修复此问题,或者编写自定义CURL脚本来获取可以处理会话和重定向的数据。

希望它会有所帮助。