Приведенная ниже программа продолжает вывод исходного кода исходной страницы входа в систему в точке B. Почему это происходит? Как я могу исправить это? получить данные следующей веб-страницы, которая должна появиться.
<form method="POST" name="logonform" action="/check-443/logon.logonform" autocomplete="off">
<input type="hidden" name="CDT" value="12313">
<input type="hidden" name="NEW_PASSWORD" value="">
<tr>
<td class="content">
<label for="User">Username</label>
</td>
<td>
<input type="text" name="LOGON" id="id" value="" size="15" maxlength="15">
</td>
</tr>
<tr>
<td class="content">
<label for="pass">Password:</label>
</td>
<td>
<input type="password" name="PASSWORDS" id="pw" value="" size="15">
</td>
</tr>
<tr>
<td>
<input type="submit" value="Log In">
</td>
</form>
Мой код не работает (я видел это онлайн и подумал, что это может быть применимо)
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://abc.cba.com");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "Username"));
nameValuePairs.add(new BasicNameValuePair("pw", "*****"));
nameValuePairs.add(new BasicNameValuePair("Log In", "Log In"));
try {
UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(nameValuePairs);
httppost.setEntity(p_entity);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
int status_code = response.getStatusLine().getStatusCode();
if (status_code >= 300) {
Log.d("asf", "Error"); //POINT A***************
return false;
} else {
Log.d("asf", EntityUtils.toString(entity)); //POINT B***************
return true;
}
} catch (Exception uee){}
return false;