我从图书馆Twitter4j获得OAuthToken,真实性令牌(这是正确的,因为当我在浏览器中登录它的作品时)。然后使用POST请求尝试使用密码和用户名登录twiiter:
URL url = new URL("https://api.twitter.com/oauth/authorize");
添加参数以请求:
String params = "oauth_token" + "=" + oAuthToken;
params += "&" + "session[username_or_email]" + "=" + login;
params += "&" + "session[password]" + "=" + password;
params += "&" + "redirect_after_login" + "=" + "https://twitter.com/oauth/authorize?oauth_token=" + oAuthToken;
params += "&" + "authenticity_token" + "=" + authToken;
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
OutputStreamWriter output = new OutputStreamWriter(connection.getOutputStream());
output.write(params);
output.flush();
得到答复:
StringBuilder sb = new StringBuilder();
int httpResult = connection.getResponseCode();
if (httpResult == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
String line;
while ((line = br.readLine()) != null)
sb.append(line).append("\n");
br.close();
PrintWriter out = new PrintWriter("response.html");
out.print(sb);
out.close();
out.flush();
System.out.println(getVerifier(sb.toString()));
} else {
System.out.println("Response: " + connection.getResponseMessage() + ", Status: " + httpResult);
}
但没有任何反应,作为回应,我有HTML页面,我可以登录twitter。