Я не могу использовать API Reddit для входа в систему

Я пытаюсь использовать Reddit API для некоторых вещей. У меня все работает, кроме смены страниц и входа в систему.

Мне нужно войти в систему, чтобы использовать мою программу, я знаю, как использовать полученный файл cookie, но мне просто не удается войти в систему.

Вот код:

public static Login POST(URL url, String user, String pw) throws IOException
{

    String encodedData =  URLEncoder.encode("api_type=json&user=" + user +"&passwd="+pw, "UTF-8");
    HttpURLConnection ycConnection = null;
    ycConnection = (HttpURLConnection) url.openConnection();
    ycConnection.setRequestMethod("POST");
    ycConnection.setDoOutput(true);
    ycConnection.setUseCaches (false);
    ycConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    PrintWriter out = new PrintWriter(ycConnection.getOutputStream());


    out.print(encodedData.getBytes());
    out.close();

    BufferedReader in = new BufferedReader(new InputStreamReader(ycConnection.getInputStream()));
    String response = in.readLine();

    Map> headers = ycConnection.getHeaderFields(); 
    List values = headers.get("Set-Cookie"); 
    String cookieValue = null; 
    for (java.util.Iterator iter = values.iterator(); iter.hasNext(); ) {
         String v = iter.next(); 
         if (cookieValue == null)
             cookieValue = v;
         else
             cookieValue = cookieValue + ";" + v;
    }

    return new Login(cookieValue, response);
}

Наиболее типичное исключение, которое я получаю:

java.io.IOException: сервер вернул код ответа HTTP: 504 для URL: http://www.reddit.com/ api / login / kagnito / на sun.net.www.protocol.http.HttpURLConnection.getInputStream (Неизвестный источник)

Но я также получил много сообщений о неверном пароле.

Как я могу решить эту проблему? Я занимаюсь этим часами!

Между прочим. Вот что я не понимаю: https://github.com/reddit/reddit/wiki/API%3A-login Я не знаю, как это опубликовать? Должен ли он идти в заголовок, или? Я не так хорошо знаком с протоколом HTTP. (Отсюда мой проект - я учусь)

5
задан André Snede Kock 14 November 2011 в 03:08
поделиться