Autore Topic: Problema con HttpPost consecutive.  (Letto 1148 volte)

Offline lugeno

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire HD
  • Sistema operativo:
    Windows 7
Problema con HttpPost consecutive.
« il: 12 Novembre 2011, 09:39:59 CET »
0
Salve a tutti,

sto scrivendo un piccolo client per accedere all'area riservata di un portale. Quando faccio la prima GET e la prima POST va tutto a buon fine infatti riesco a visualizzare correttamente l'HTML di entrambe le pagine. Invece se poi voglio eseguire una nuova GET o una nuova POST la pagina risultante è completamente vuota. Per chiarire il mio problema posto una parte del codice:

Codice (Java): [Seleziona]
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 {
            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 {
            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..............

Se cerco di leggere la stringa responseTextPost2 non visualizzo nulla.
Dove è che sbaglio? Qualcuno ha qualche idea su come risolvere? Grazie!
« Ultima modifica: 12 Novembre 2011, 09:53:44 CET da lugeno »

Offline babsevensix

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
Re:Problema con HttpPost consecutive.
« Risposta #1 il: 20 Dicembre 2012, 14:17:40 CET »
0
Ma lo status cosa ti ritorna?
Perchè io ho il tuo stesso problema ma nel primo post, e come status mi da un 500 error...

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con HttpPost consecutive.
« Risposta #2 il: 20 Dicembre 2012, 14:37:11 CET »
0
mi pare che tu riutilizzi le connessioni senza chiudere quelle precedenti...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline babsevensix

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
Re:Problema con HttpPost consecutive.
« Risposta #3 il: 20 Dicembre 2012, 17:44:06 CET »
0
E come si chiudono le connessioni?

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con HttpPost consecutive.
« Risposta #4 il: 20 Dicembre 2012, 20:20:19 CET »
0
Citazione
// When HttpClient instance is no longer needed,
     // shut down the connection manager to ensure
     // immediate deallocation of all system resources
     httpclient.getConnectionManager().shutdown();

HttpClient (HttpClient 4.2.2 API)


google aiuta sempre
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline babsevensix

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
Re:Problema con HttpPost consecutive.
« Risposta #5 il: 20 Dicembre 2012, 23:08:32 CET »
0
Così però devo ricreare l'HTTPClient? Perchè se provo mi dice che la connessione si sta chiudendo...

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con HttpPost consecutive.
« Risposta #6 il: 21 Dicembre 2012, 09:13:25 CET »
0
beh direi proprio di si! Se fai due chiamate, fai anche due connessioni
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia