Мне нужно аутентифицировать имя пользователя и пароль на моем веб-сайте, который предоставляет сессионные куки.
Я собираю имя пользователя и пароль из EditText в форме и передаю его в сеанс аутентификации.
@Override
public void onClick(View v)
{
String Username = username.getText().toString();
String Password = password.getText().toString();
String value = LoginAuthenticate.getSessionCookie(Username, Password);
//This is just check what session value is brought back
username.setText(value);
}
Затем проверяются имя пользователя и пароль, если они верны, чтобы вернуть cookie сеанса.
public static String getSessionCookie (String username, String password) {
String login_url = "http://www.myexperiment.org/session/create";
URLConnection connection = null;
String sessionXML = "<session><username>" + username +
"</username><passsword>" + password +
"</password></session>";
String cookieValue = null;
try
{
URL url = new URL(login_url);
connection = url.openConnection();
connection.setRequestProperty("Content-Type", "application/xml");
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(sessionXML);
out.close();
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
String headerName = null;
for (int i =0; (headerName = connection.getHeaderFieldKey(i)) != null; i++)
{
if(headerName.equals("Set-Cookie"))
{
cookieValue = connection.getHeaderField(i);
}
}
//return connection.getHeaderField("Set-Cookie:");
return cookieValue;
}
В файле манифестаУ меня установлено разрешение.
Нет ошибок, но в конце NULL перенастраивается.Я проверил (при отладке) правильное имя пользователя и пароль, передаваемые в функцию.
Надеюсь, здесь кто-то может помочь.
Спасибо.