Я пишу простой HttpClient в Android, потому что мне нужно делать различные запросы POST подряд. Я сначала делаю HttpGet, а затем первый HttpPost.
Я могу получить HTML первого GET и первого POST. Но если я делаю новый GET или новый POST, я получаю пустой ответ. Чтобы прояснить мою проблему, я прилагаю код.
DefaultHttpClient httpclient = new DefaultHttpClient();
//FIRST GET TO ACCESS LOGIN MODULE
try {
HttpGet httpget = new HttpGet("https://site/link_to_access_the_login_form");
HttpResponse response = null;
try {
response = httpclient.execute(httpget);
} catch (ClientProtocolException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
HttpEntity entity = response.getEntity();
System.out.println("Login form get: " + response.getStatusLine());
entity.consumeContent();
//FIRST POST TO ACCESS THE RESTRICTED AREA
HttpPost httpost = new HttpPost("https://site/login/login.do");
List <NameValuePair> nameValuePairs = new ArrayList <NameValuePair>(6);
nameValuePairs.add(new BasicNameValuePair("login", "uid"));
nameValuePairs.add(new BasicNameValuePair("password", "pwd"));
//additional params
httpost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
try {
response = httpclient.execute(httpost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
entity = response.getEntity();
System.out.println("Login form get: " + response.getStatusLine());
//entity.consumeContent();
try {
String responseTextPost1 = EntityUtils.toString(entity);
entity.consumeContent();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//SECOND POST TO ACCESS A LINK IN THE RESTRICTED AREA
httpost = new HttpPost("https://site/role/script.do");
List <NameValuePair> nameValuePairs6 = new ArrayList <NameValuePair>(6);
//Parameters...
httpost.setEntity(new UrlEncodedFormEntity(nameValuePairs6, HTTP.UTF_8));
try {
response = httpclient.execute(httpost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Login form get: " + response.getStatusLine());
entity = response.getEntity();
try {
String responseTextPost2 = EntityUtils.toString(entity);
entity.consumeContent();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch..............
responseTextPost2 кажется пустым. Предложения по решению этой проблемы?