使用用户名和密码登录twitter,POST java

时间:2015-12-12 21:31:42

标签: java twitter login twitter4j

我从图书馆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。

0 个答案:

没有答案