加载网站服务器端返回403错误

时间:2017-09-30 10:22:40

标签: php

前几天我试图从网站上获取RSS信息,但是当我尝试使用PHP加载它时,它返回了403错误。

这是我的PHP代码:

<?php
    $rss = file_get_contents('https://hypixel.net/forums/-/index.rss');
    echo $rss;
?>

我得到的错误是:

failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden

我必须说从浏览器定期加载它可以正常工作,但是当我尝试使用PHP或任何其他服务器端方法加载它时,它将无法正常工作。

1 个答案:

答案 0 :(得分:3)

有些人不喜欢服务器访问他们的东西。它们为人类消费者提供服务,而不是机器人。因此,它们可能包含一些代码,用于检查您是否实际上是使用Web浏览器的人,这是您天真的PHP脚本无法提供的。因此,第三方返回403 Forbidden错误,表示您的程序禁止访问它。

当然,有很多方法可以解决这个问题,具体取决于它的实施方式。最明显的事情是发送假装为浏览器的User-Agent标头。但是服务器可能会做比这更聪明的检查,而且道德上有道理。