Sto provando a utilizzare l'API Reddit per fare qualcosa. Ho tutto funzionante ma cambio pagina e accesso.Non riesco a utilizzare le API di Reddit per accedere
Ho bisogno di accedere per usare il mio programma, so come usare il cookie che ottengo, ma non riesco proprio ad accedere.
Ecco il codice:
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<String, List<String>> headers = ycConnection.getHeaderFields();
List<String> values = headers.get("Set-Cookie");
String cookieValue = null;
for (java.util.Iterator<String> iter = values.iterator(); iter.hasNext();) {
String v = iter.next();
if (cookieValue == null)
cookieValue = v;
else
cookieValue = cookieValue + ";" + v;
}
return new Login(cookieValue, response);
}
Il più tipico eccezione che ottengo è:
java.io.IOException: Server ha restituito il codice di risposta HTTP: 504 per l'URL: http://www.reddit.com/api/login/kagnito/ al sole. net.www.protocol.http.HttpURLConnection.getInputStream (sorgente sconosciuta)
Ma ho anche ricevuto un sacco di "pa invalid ssword "messaggi.
Come posso risolvere questo? Ci sono stato per ore!
Btw. Questo è quello che ho problemi di comprensione: https://github.com/reddit/reddit/wiki/API%3A-login Non sono sicuro di come POST questo? Dovrebbe andare nell'intestazione, o? Non sono così familiare con il protocollo HTTP. (Da qui il mio progetto - sto imparando)
Controllare un aggiornamento per la mia risposta – Strelok