public void testSigninWithTwitter() throws Exception { RequestToken rt; Twitter twitter = new TwitterFactory().getInstance(); HttpClient http; HttpResponse response; String resStr; String authorizeURL; HttpParameter[] params; AccessToken at; String cookie; http = new HttpClient(); // browser client - not requiring pin twitter.setOAuthConsumer(browserConsumerKey, browserConsumerSecret); rt = twitter.getOAuthRequestToken(); Map<String, String> props = new HashMap<String, String>(); response = http.get(rt.getAuthenticationURL()); cookie = response.getResponseHeader("Set-Cookie"); // http.setRequestHeader("Cookie", cookie); props.put("Cookie", cookie); resStr = response.asString(); authorizeURL = catchPattern(resStr, "<form action=\"", "\" id=\"login_form\""); params = new HttpParameter[4]; params[0] = new HttpParameter( "authenticity_token", catchPattern(resStr, "\"authenticity_token\" type=\"hidden\" value=\"", "\" />")); params[1] = new HttpParameter( "oauth_token", catchPattern(resStr, "name=\"oauth_token\" type=\"hidden\" value=\"", "\" />")); params[2] = new HttpParameter("session[username_or_email]", id1.screenName); params[3] = new HttpParameter("session[password]", id1.pass); response = http.request(new HttpRequest(RequestMethod.POST, authorizeURL, params, null, props)); // response = http.post(authorizeURL, params); at = twitter.getOAuthAccessToken(rt.getToken(), rt.getTokenSecret()); assertEquals(at.getScreenName(), id1.screenName); assertEquals(at.getUserId(), 6358482); }