Autore Topic: Compilare degli <input> con Jsoup  (Letto 280 volte)

Offline rebus_007

  • Utente junior
  • **
  • Post: 51
  • Hola!
  • Respect: +2
    • Github
    • Google+
    • rebus007
    • raphael.bussa
    • rebus_007
    • Mostra profilo
    • rebus007
  • Dispositivo Android:
    Nexus 5X
  • Play Store ID:
    Raphael+Bussa
  • Sistema operativo:
    OS X El Capitan
Compilare degli <input> con Jsoup
« il: 11 Marzo 2014, 16:49:15 CET »
0
Salve a tutti, devo fare una app che recupera dei dati da una pagina HTML e fino a qui niente di strano, il problema che a questa pagina si può accedere solo dopo aver fatto il login, qui iniziano i problemi, come posso fare (utilizzando Jsoup) a compilare degli input (che contengono user name e password), e poi a parsare la pagina che viene fuori ma con il login effettuato?

Il form di login che devo compilare è un form di vbulletin (applicativo per gestire forum)

Codice (XML): [Seleziona]
<form id="navbar_loginform" action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
    <fieldset id="logindetails" class="logindetails">
        <input type="text" class="textbox default-value" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="User Name" />
        <input type="password" class="textbox" tabindex="102" name="vb_login_password" id="navbar_password" size="10" />
        <input type="text" class="textbox default-value" tabindex="102" name="vb_login_password_hint" id="navbar_password_hint" size="10" value="Password" style="display:none;" />
        <span id="remember" class="remember">
            <label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" checked="checked" id="cb_cookieuser_navbar" class="cb_cookieuser_navbar" accesskey="c" tabindex="103" /> Remember Me?</label>
        </span>                    
        <input type="submit" class="loginbutton" tabindex="104" value="Log in" title="Inserisci il tuo nome utente e la tua password nelle caselle fornite per accedere, o clicca il pulsante 'registrazione' per crearti un profilo." accesskey="s" />
    </fieldset>
    <input type="hidden" name="s" value="" />
    <input type="hidden" name="securitytoken" value="guest" />
    <input type="hidden" name="do" value="login" />
    <input type="hidden" name="vb_login_md5password" />
    <input type="hidden" name="vb_login_md5password_utf" />
</form>

qualche idea? ho provato usado

Codice (Java): [Seleziona]
.data("vb_login_username", nome_utente)
.data("vb_login_password", password)

ma per il momento non ne cavo il ragno dal buco...

ciao a tutti

rebus007
"Chi è più pazzo, il pazzo o il pazzo che lo segue?" - Obi-Wan Kenobi

DEVICE CHE USO: Nexus 5X 32 GB | NVIDIA SHIELD Tablet K1 16 GB

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Compilare degli <input> con Jsoup
« Risposta #1 il: 11 Marzo 2014, 17:00:29 CET »
0
ma scusa se fai il login tramite App e poi ti prendi il codice della risposta e da lì inizi con Jsoup ad analizzare la pagina HTML...

Offline rebus_007

  • Utente junior
  • **
  • Post: 51
  • Hola!
  • Respect: +2
    • Github
    • Google+
    • rebus007
    • raphael.bussa
    • rebus_007
    • Mostra profilo
    • rebus007
  • Dispositivo Android:
    Nexus 5X
  • Play Store ID:
    Raphael+Bussa
  • Sistema operativo:
    OS X El Capitan
Re:Compilare degli &lt;input&gt; con Jsoup
« Risposta #2 il: 11 Marzo 2014, 17:02:53 CET »
0
ma scusa se fai il login tramite App e poi ti prendi il codice della risposta e da lì inizi con Jsoup ad analizzare la pagina HTML...

Scusa puoi spiegati meglio?
"Chi è più pazzo, il pazzo o il pazzo che lo segue?" - Obi-Wan Kenobi

DEVICE CHE USO: Nexus 5X 32 GB | NVIDIA SHIELD Tablet K1 16 GB

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Compilare degli &lt;input&gt; con Jsoup
« Risposta #3 il: 11 Marzo 2014, 19:24:20 CET »
0
Scusa puoi spiegati meglio?

ad esempio usando le Async Http Client potresti fare:

Codice (Java): [Seleziona]
final int DEFAULT_TIMEOUT = 30 * 1000;
                AsyncHttpClient client = new AsyncHttpClient();
                client.setTimeout(DEFAULT_TIMEOUT);

                RequestParams params = new RequestParams();
                params.put("user", mUsername);
                params.put("pass", mPassword);
               
               

                client.get(url, params,
                                new AsyncHttpResponseHandler(){

                                        @Override
                                        public void onSuccess(String response) {
                                                showProgress(false);

                                                try {
                                                       
                                                       
Document doc = Jsoup.parse(response);
                Elements tables = doc.getElementsByTag("table");
                Element table = tables.get(0);
------