0

私は、ユーザーが 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 は私のサーバーで問題なく動作します (テスト済みです)。

何か案は?

4

1 に答える 1

1

reddit.com応答の最初の部分は、 からへの切り替えですwww.reddit.com。2 番目のリクエストが GET を行っていると仮定していますが、これはそのエンドポイントでは受け入れられず (ドキュメントによると POST のみ)、404 を返します。元の URL を更新して を含め、www.それが機能するかどうかを確認してください。

于 2013-07-31T20:23:31.377 に答える