У меня есть форма для входа, которая в настоящее время принимает параметры входа и входа на веб-сайт с помощью HTTP Post Request.Я не уверен в типе сервера, так что это может быть проблемой.Как только он принимает учетные данные для входа в систему, он охватывает входной поток в строку (все HTML) и устанавливает его в текстовое представление.Вот логин:
private void postLoginData() throws ClientProtocolException, IOException {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("loginurl"); // Changed for question.
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("sid", "username"));
nameValuePairs.add(new BasicNameValuePair("pin", "pass"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
String finalres = inputStreamToString(response.getEntity().getContent()).toString();
tvStatus.setText(finalres);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
А вот inputStreamToString ()
private StringBuilder inputStreamToString(InputStream is) throws IOException {
String line = "";
StringBuilder total = new StringBuilder();
// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
// Read response until the end
while ((line = rd.readLine()) != null) {
total.append(line);
}
// Return full string
return total;
}
Проблема в том, что ВСЕГДА просто возвращает HTML для страницы входа.Когда пользователь не может войти на сайт, у него появляется маленькое сообщение, указывающее на это.Даже если я добавлю неверные учетные данные, ничего не отобразится.Аналогично, если я добавлю правильный логин, он все равно покажет мне только страницу логина HTML.