Tôi đang cố gắng sử dụng API Reddit để thực hiện một số nội dung. Tôi có tất cả mọi thứ đang hoạt động nhưng thay đổi các trang và đăng nhập.Tôi không thể sử dụng API của Reddit để đăng nhập
Tôi cần đăng nhập để sử dụng chương trình của mình, tôi biết cách sử dụng cookie tôi nhận được, nhưng tôi không thể quản lý để đăng nhập.
Dưới đây là các mã:
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);
}
Trường hợp ngoại lệ điển hình nhất mà tôi nhận được là:
java.io.IOException: Máy chủ trả lại HTTP mã phản hồi: 504 cho URL: http://www.reddit.com/api/login/kagnito/ tại mặt trời. net.www.protocol.http.HttpURLConnection.getInputStream (Nguồn không xác định)
Nhưng tôi cũng đã nhận được rất nhiều "không hợp lệ pa ssword "tin nhắn.
Tôi làm cách nào để giải quyết vấn đề này? Đã ở đó hàng giờ!
Btw. Đây là những gì tôi đang gặp sự cố khi hiểu: https://github.com/reddit/reddit/wiki/API%3A-login Tôi không biết cách đăng bài này? Nó có nên đi vào tiêu đề hay không? Tôi không quen với giao thức HTTP. (Do đó dự án của tôi - Tôi đang học)
Kiểm tra một bản cập nhật để – Strelok