Я использую devise на веб-сервере и пытаюсь заставить приложение Java проходить аутентификацию.После проверки подлинности приложения devise должен разрешить приложению создавать и обновлять записи на веб-сервере.
Я просматриваю журнал сервера rails, чтобы сравнить, что веб-форма публикует с моим приложением.Вот различные выходные данные:
Веб-форма (рабочая)
Параметры: {"utf8" => "Γ £ ô", "authenticity_token" => "vYC9qd0dVIUH7B / wCHW59JwZquX4yaiogXZ32pbn1So =", "user" => {"username" => "user", "password" => "[FILTERED]", "Remember_me" => "0"}, "commit" => "Вход "}
Приложение (не работает)
Параметры: {" utf8 "=>"? "," Username "=>"user", "password" => "[FILTERED]", "commit" => "Войти"}
Это код моего приложения
public void webLogin(String methodName, String username, String password) {
httpPost = new HttpPost(webServiceUrl+methodName);
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("utf8", Character.toString('\u2713')));
nameValuePairs.add(new BasicNameValuePair("username", username));
nameValuePairs.add(new BasicNameValuePair("password", password));
nameValuePairs.add(new BasicNameValuePair("commit", "Sign in"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpClient.execute(httpPost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
ОчевидноеРазница в том, что имя пользователя и пароль вложены в структуру пользователя.Итак, мой вопрос, как мне создать эту структуру?
РЕДАКТИРОВАТЬ HTTP-заголовок Info
Request URL:http://localhost:3000/users/sign_in
Request Method:POST
Status Code:302 Found
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:197
Content-Type:application/x-www-form-urlencoded
Cookie:_WebApp_session=BAh7CEkiCmZsYXNoBjoGRUZvOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaAk6CkB1c2VkbzoIU2V0BjoKQGhhc2h7BjoKYWxlcnRUOgxAY2xvc2VkRjoNQGZsYXNoZXN7BjsKSSIfSW52YWxpZCBlbWFpbCBvciBwYXNzd29yZC4GOwBUOglAbm93bzokQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaE5vdwY6C0BmbGFzaEAHSSIPc2Vzc2lvbl9pZAY7AEZJIiU4ODVjM2QxNmNkMTI4YWYxN2E5YzEyNmRjYWI1OTI1YgY7AFRJIhBfY3NyZl90b2tlbgY7AEZJIjFNVkV4aFNoSnZsQmhxRUFVdjZtZ0ZBblNVQzJjbU1Kb0l3N1U1OHErNUlVPQY7AEY%3D--8b8a1fcee6c194b938781fa60ddb3a91b1ac8c7c
Host:localhost:3000
Origin:http://localhost:3000
Referer:http://localhost:3000/users/sign_in
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7
Form Dataview URL encoded
utf8:✓
authenticity_token:MVExhShJvlBhqEAUv6mgFAnSUC2cmMJoIw7U58q 5IU=
user[username]:user
user[password]:password
user[remember_me]:0
commit:Sign in
Response Headersview source
Cache-Control:no-cache
Connection:Keep-Alive
Content-Length:88
Content-Type:text/html; charset=utf-8
Date:Thu, 26 Jan 2012 03:57:57 GMT
Location:http://localhost:3000/
Server:WEBrick/1.3.1 (Ruby/1.9.2/2011-07-09)
Set-Cookie:_WebApp_session=BAh7CUkiCmZsYXNoBjoGRUZvOiVBY3Rpb25EaXNwYXRjaDo6Rmxhc2g6OkZsYXNoSGFzaAk6CkB1c2VkbzoIU2V0BjoKQGhhc2h7ADoMQGNsb3NlZEY6DUBmbGFzaGVzewY6C25vdGljZUkiHFNpZ25lZCBpbiBzdWNjZXNzZnVsbHkuBjsAVDoJQG5vd286JEFjdGlvbkRpc3BhdGNoOjpGbGFzaDo6Rmxhc2hOb3cGOgtAZmxhc2hAB0kiD3Nlc3Npb25faWQGOwBGSSIlYmZkMDkwNDA1ZGZkN2JmZTA1OWM0MDNmZDIxYzU1ODMGOwBUSSIQX2NzcmZfdG9rZW4GOwBGSSIxTVZFeGhTaEp2bEJocUVBVXY2bWdGQW5TVUMyY21NSm9JdzdVNThxKzVJVT0GOwBGSSIZd2FyZGVuLnVzZXIudXNlci5rZXkGOwBUWwhJIglVc2VyBjsARlsGaQciIiQyYSQxMCR0b0tHc0FJTWpHRXQxSXp1aWVCRlBl--9e1e39fb97a4452e3693c65cc5f1ac4ad9855c37; path=/; HttpOnly
X-Runtime:0.231013
X-Ua-Compatible:IE=Edge