Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Client per accedere ad una servlet

    Salve a tutti. Dovrei accedere a delle pagine web generate dinamicamente da una servlet che mantiene la connessione con il client. Il problema è proprio che, una volta effettuata la prima richiesta, al momento di effettuare la seconda la connessione non è mantenuta,e quindi invece della pagina desiderata, mi restituisce il messaggio "accesso illegale". Allora ho provato ad aggiungere alla seconda richiesta il cookie contenente l'id della sessione, ottenuto cercando il set-cookee della prima connessione. Purtroppo, ancora niente...qualcuno sa darmi una mano ad interfacciarmi con questa servlet proprio come avviene quando navigo col browser?

  2. #2
    Ho letto il tuo post ma sinceramente non hai fornito abbastanza detagli da poter capire il tuo problema. Prova a spiegarti meglio cosa vuoi fare e se puoi, posta qualche riga di codice.

  3. #3
    in pratica voglio ottenere in java il contenuto della pagina html di un sito. il mio codice è il seguente:
    codice:
    import java.io.IOException;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    
    public class speranza {
    	public static void main(String[]args) throws Exception{
    		//client su cui effettuer˜ le richieste!
    		HttpClient client = new DefaultHttpClient();
    		//il post per il login!
    		HttpPost request=new HttpPost("urlacuidevoaccedere?username=latuamatricola&password=latuapasswd");
    		
    		HttpResponse response=null;
            try {               
                // Execute HTTP Post Request  
                response = client.execute(request);                    
    
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block  
            }catch (IOException e) {
                // TODO Auto-generated catch block  
            }
            
            //stampo il corpo dell'html che scarico!
            HttpEntity entity=response.getEntity();
            String responseBody = EntityUtils.toString(entity);
            System.out.println(responseBody);
            
            //rilascio la connessione sul client per eventuali altre richieste!
            request.abort();
            
            
            HttpGet request2=new HttpGet("urlacuidevoaccedereServlet");
            try {               
                // Execute HTTP Post Request  
                response = client.execute(request2);                    
    
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block  
            }catch (IOException e) {
                // TODO Auto-generated catch block  
            }
            
            //stampo il corpo dell'html che scarico!
            entity=response.getEntity();
            responseBody = EntityUtils.toString(entity);
            System.out.println(responseBody);
    	}
    }

  4. #4
    Penso che possa interessarti a leggere questo tutorial online http://hc.apache.org/httpcomponents-...tutorial/html/ oppure scaricarti direttamente da http://hc.apache.org/downloads.cgi i jar da aggiungere al tuo progetto (se ancora non lo hai fatto. Si trovano sotto la cartella lib del file che scarichi e sono in tutto 6 jar. Non so se al caso tuo servono tutti) insieme alla documentazione in htm e pdf. Purtroppo ho una conoscenza base sui servlet e non posso aiutarti ma credo di aver capito che l'API HttpCore fa al caso tuo!

  5. #5
    Ti ringrazio molto, ho guardato bene quelle api, c'è forse una sezione che mi può interessare, perchè a questo punto credo che il mio problema riguardi i certificati e la crittografia delle pagine https. Per caso invece sai come evitare questi ultimi due?
    Cmq grazie mille!

  6. #6
    IN che senso il tuo problema riguarda i certificati e l'https? Se non mi sbaglio, di solito si rende una web application in https via application server, ovvero devi settarlo sulla application server la web appplication sicura in https (aggiungere dei certificati). Insomma, sei te che decidi!! E cmq in tutto questo, io ancora non ho capito che stai tentando di fare!

  7. #7
    Per quanto riguarda https, ho paura che in qualche modo il server si accorga che io non mi sto connettendo dal browser e si "rifiuti" di farmi accedere al frame al quale voglio accedere.
    Per quanto riguarda quello che sto tentando di fare, in sostanza io voglio accedere ad una pagina web, ottenendo il codice sorgente, ma invece di farlo, ad esempio, con chrome e poi facendo "visualizza sorgente", voglio fare tutto con un programma java. Diciamo che in sostanza dovrei emulare il browser per accedere alle informazioni che mi servono. In sostanza la pagina a cui voglio accedere ha una tabella con dei dati:io voglio quei dati!
    Per arrivare a quella pagina col browser, si passa tramite una pagina di login, si accede alla pagina principale, si clicca su un bottone in basso, si ottiene il frame con la tabella. Se ispeziono il bottone, quello che vedo è:

    codice:
    <td onclick="javascript: vaiControlloHref('../Report/VisualizzaEsamiServlet?CODI_FUNZ=571&amp;UTEN=1164219')" class="MenuDown2" background="../Img/bg_cella.gif" width="116" style="background-color: rgb(40, 63, 74); color: rgb(255, 255, 102); ">
    <a href="javascript:void(null)"><center>
    VISUALIZZA ESAMI
    </center>    </a> </td>

    Spero di essere stato chiaro ora!

  8. #8
    Adesso sei stato chiarissimo ma...mmmhh, la vedo dura. Da quello che ho capito, vorresti ricavare delle informazioni di un tuo account universitario (info facilmente ricavabili dal nome della servlet che tenti di eseguire, ovvero la VisualizzaEsamiServlet. Ah, ora so anche la tua matricola e sono arrivato anche al fatto che studi Ing. Informatica e so anche il tuo cognome. Ora provedo subito a farti qualche bel scherzo. Ovviamente scherzo ). Sinceramente non saprei come aiutarti. Bisogna studiare a fondo la questione cominciando dal metodo di autenticazione di questo portale che tu vorresti ricavare le informazioni (semplice servlet di autenticazione che fa un check di utenti su un DB o Directory LDAP e setta una sessione, o altro (con altro ci puo' stare un Access Manager che anche questo a sua volta setta dei token di sessione). L'HttpCore che iti ho postato prima è dipendente alla tua classe che avevi inserito, ovvero ricavato dalla ta classe. Cioè la tua classe importava delle classi dentro quei jar. Quindi chi ti ha consigliato quella classe, allora doveva darti anche l'HttpCore. Cmq sorry di non poterti aiutare. Facci sapere cmq come fi perche lo trovo interessante come problema! In bocca al lupo

  9. #9
    Crepi! Cmq in qualche modo ci devo riuscire, ormai mi sono intestardito! Ti farò sapere quando ci riuscirò!

  10. #10
    Originariamente inviato da coocooche
    Adesso sei stato chiarissimo ma...mmmhh, la vedo dura. Da quello che ho capito, vorresti ricavare delle informazioni di un tuo account universitario (info facilmente ricavabili dal nome della servlet che tenti di eseguire, ovvero la VisualizzaEsamiServlet. Ah, ora so anche la tua matricola e sono arrivato anche al fatto che studi Ing. Informatica e so anche il tuo cognome. Ora provedo subito a farti qualche bel scherzo. Ovviamente scherzo ). Sinceramente non saprei come aiutarti. Bisogna studiare a fondo la questione cominciando dal metodo di autenticazione di questo portale che tu vorresti ricavare le informazioni (semplice servlet di autenticazione che fa un check di utenti su un DB o Directory LDAP e setta una sessione, o altro (con altro ci puo' stare un Access Manager che anche questo a sua volta setta dei token di sessione). L'HttpCore che iti ho postato prima è dipendente alla tua classe che avevi inserito, ovvero ricavato dalla ta classe. Cioè la tua classe importava delle classi dentro quei jar. Quindi chi ti ha consigliato quella classe, allora doveva darti anche l'HttpCore. Cmq sorry di non poterti aiutare. Facci sapere cmq come fi perche lo trovo interessante come problema! In bocca al lupo
    Ce l'abbiamo fatta, siamo entrati!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.