Reddit API和cURL创建帐户的问题

时间:2013-07-31 20:05:48

标签: php api http curl reddit

我正在开发一款允许用户在reddit上创建帐户的应用(以及更多)。我使用cURL和PHP与Reddit API进行交互,这是我的代码:

    function create_account($username, $password, $captcha_iden, $captcha_answer){

    $url = "http://reddit.com/api/register";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_POST, true);

    $data = "user=$username&passwd=$password&passwd2=$password&rem=false&reason=redirect&api_type=json&iden=$captcha_iden&captcha=$captcha_answer";

    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    $curl_scraped_page = curl_exec($ch);

    die($curl_scraped_page);
    curl_close($ch);


}

但是,我从Reddit服务器收到的是:

HTTP/1.1 302 Moved Temporarily 
Server: AkamaiGHost 
Content-Length: 0 
Location: http://www.reddit.com/api/register 
Date: Wed, 31 Jul 2013 20:02:03 GMT 
Connection: keep-alive 

HTTP/1.1 404 Not Found 
Content-Length: 0 
Content-Type: text/html; charset=UTF-8   
Server: '; DROP TABLE servertypes; -- 
Vary: Accept-Encoding 
Date: Wed, 31 Jul 2013 20:02:04 GMT 
Connection: keep-alive

我不完全确定HTTP响应意味着什么,我真的很困惑如何解决这个问题。 cURL在我的服务器上运行得非常好(我测试过它)。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

回复的第一部分是将您从reddit.com转到www.reddit.com。我假设第二个请求正在进行GET,该端点不接受(仅根据文档进行POST),因此返回404.尝试更新原始URL以包含www.和看看是否有效。