始终错误500要求使用Reddit的API进行投票计数

时间:2013-01-14 13:25:11

标签: php json curl reddit

我正在使用Reddit的API来获取给定网址的投票数(我这样做,http://www.reddit.com/api/info.json?url= $ url)。我总是收到错误500消息。我在下面给你一段我的代码。有人可以帮帮我吗?

$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,15);     
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); 
$content = curl_exec($ch);
echo $content;
curl_close($ch);

Echo总是让我回到下一行。

<html><body><h1>500 Server Error</h1>An internal server error occured.</body></html>

感谢阅读。

---编辑---

它在本地工作。

1 个答案:

答案 0 :(得分:0)

  

$ useragent =“Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1)Gecko / 20061204 Firefox / 2.0.0.1”;

reddit的API rules说明了以下有关用户代理的信息:

  • 将客户端的User-Agent字符串更改为唯一且具有描述性的字符串,最好是引用您的reddit用户名。
    • 示例:User-Agent:/ happy / spladug
    • 的超级开心天赋机器人v1.0
    • 许多默认的用户代理(如“Python / urllib”或“Java”)受到极大的限制,以鼓励使用唯一的描述性用户代理字符串。
    • 如果您要申请其他人使用,请在用户代理中添加版本号。这允许我们阻止错误的版本,而不会阻止您的应用程序的所有版本。
    • 永远不要骗你的用户代理。这包括欺骗流行的浏览器和欺骗其他机器人。我们将禁止极端偏见的骗子。

这并不能解释500错误,但是,如果使用浏览器时相同的URL工作得很好,这就是我要开始的地方。如果您在使用浏览器时遇到500错误,那么您可能没有正确使用info API(因此发现了错误)。