Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto
Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto
Abbiamo testato per alcune settimane il Navimow i105E, un robot tagliaerba che unisce il segnale RTK alla visione con videocamera intelligente, per un posizionamento preciso e un taglio impeccabile
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G?
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G?
Xiaomi 14 e Xiaomi 14 Ultra sono due dei più performanti cameraphone del 2024. Li abbiamo messi sotto torchio con tutte le prove che effettuiamo solitamente per le recensioni delle fotocamere, per saggiarne il comportamento e avere tutti i dati tecnici per un confronto ragionato
Corsair One i500: un PC gaming potente che può stare anche in salotto
Corsair One i500: un PC gaming potente che può stare anche in salotto
Corsair One i500 è un PC completo molto potente ma che occupa poco spazio e lo fa con stile. Un sistema che può servire tanto per lavorare quanto per giocare, con molti spunti interessanti ma anche qualche neo. Il prezzo è da capogiro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-12-2014, 16:30   #1
I-Gamer
Senior Member
 
Iscritto dal: Jan 2010
Messaggi: 1084
[JAVA-ANDROID] Login Pagina WEB

Ciao a tutti!
Vorrei sapere se è possibile effettuare il login ad una pagina tramite applicazione android che va a "completare i campi".
Dovrebbe:
*se il login va a buon passare ad un'activity fine che visualizza la pagina a cui ci si è loggati
*fare un toast se non sono corretti i dati di login

Non posso lavorare sul server del sito in quanto è un servizio, né conosco che tipo di autenticazione usa.
So solo che mi interfaccio su una pagina [.php].

Grazie per l'aiuto!
__________________
Ho concluso positivamente con: Nicole Ridgway, Alphacyngni, ICER, gtv3000, holydio,MaxN, albert78, GTO286, subrahmanyam, Commanders, MarcoTechnofolle, master3000, nuvolona,xqtm,bruciato e altri
I-Gamer è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 16:09   #2
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Si può fare, ma dovresti conoscere a priori la struttura della pagina che contiene la form di login.
Se così fosse basta prendere i parametri da passare ad un ipotetico endpoint php.
Ad esempio http://www.hwupgrade.it/login.php?user=tuouser&pass=tuapassword , e funziona.


Se invece non conosci la struttura della pagina a priori, devi fare il parse di tutta la pagina, trovare la form,...ma a questo punto mi sorgono delle domande:
- se la form è in javascript per esempio?
- se ci sono più form all'interno della pagina come distingui la form giusta?
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 17:45   #3
I-Gamer
Senior Member
 
Iscritto dal: Jan 2010
Messaggi: 1084
Quote:
Originariamente inviato da sharkkk Guarda i messaggi
Si può fare, ma dovresti conoscere a priori la struttura della pagina che contiene la form di login.
Se così fosse basta prendere i parametri da passare ad un ipotetico endpoint php.
Ad esempio http://www.hwupgrade.it/login.php?user=tuouser&pass=tuapassword , e funziona.


Se invece non conosci la struttura della pagina a priori, devi fare il parse di tutta la pagina, trovare la form,...ma a questo punto mi sorgono delle domande:
- se la form è in javascript per esempio?
- se ci sono più form all'interno della pagina come distingui la form giusta?
Innanzitutto grazie per la risposta!
Ispezionando la pagina ho visto che questo è il form:
<form id="formlogin" method="post" action="login.php">
Poi ci sono 3 campi da compilare:
<input type="hidden" name="custcode" value="asd" size="15">
<input type="hidden" name="login" value="yourUsername" size="15">
<input class="input_account idesk-force-focus" type="password" autocomplete="off" placeholder=" Password" name="password" value="" tabindex="3" style="width:95%;border-radius: 5px; border: 1px solid #aaaaaa; color: #ff0000; height: 30px; font-size: 16px; padding-left: 4px;">
E poi il bottone per inviare la richiesta:
<input type="submit" value="Conferma" class="btn_confirm">

Conoscendo in questo modo la struttura della pagina, si riesce a fare qualcosa?

Grazie ancora per l'aiuto!

EDIT: Ho provato a compilare l'URL come hai detto te con i "name" dei campi e i valori del mio account e funziona...
Come sarebbe il codice per inoltrare la richiesta alla pagina quindi?
E per ricevere la risposta nel caso non andasse il login (user/pssw sbagliati...)?

Grazie!!!
__________________
Ho concluso positivamente con: Nicole Ridgway, Alphacyngni, ICER, gtv3000, holydio,MaxN, albert78, GTO286, subrahmanyam, Commanders, MarcoTechnofolle, master3000, nuvolona,xqtm,bruciato e altri

Ultima modifica di I-Gamer : 09-12-2014 alle 17:51.
I-Gamer è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 21:37   #4
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
certo che puoi, attraverso il DOM.

Il problema qual'e? che sviluppare un automatismo che fa il parse di una pagina (non conosciuta a priori) per trovare la form di login è un'incognita.

Cioè il tuo obbiettivo è quello di trovare la form di login, quindi i tag <form..> ... </form>, ma se il sito è fatto in flash quei tag non li vedrai mai, stessa cosa se la form è fatta in javascript.

Ora se il tuo obbiettivo è fare una cosa statica, dove tu hai una lista di siti prestabiliti su cui vuoi fare questa cosa, si può fare, ma non c'e da scrivere tanto codice, perche puoi fare uno switch, dove a seconda del servizio scelto, tu costruisci la stringa es. http://www.hwupgrade.it/login.php?us...ss=tuapassword e lo ridirezioni li (visto che conoscendo il sito a priori puoi costruire tu la stringa ad occhio, leggendo tu il codice html).

Se il tuo obbiettivo è una cosa dinamica, e quindi vuoi gestire tutti i possibili siti, allora c'e da scrivere un po di codice javascript e scorrendo il DOM capire dove si trova la form, trovare quella giusta, estrapolare i dati giusti.

Per gestire un login errato non saprei, è una bella domanda, avrei delle idee ma non so quanto "belle" sarebbero.
Dipende comunque dall'implementazione, lato server, del caso di login fallito.
C'e chi ti ridireziona in un'altra pagina, c'e chi ti da la notifica sulla pagina stessa (AJAX), ecc..



Ma la tua applicazione vuole essere una cosa che funziona universalmente o per un range di siti predefiniti?
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 22:22   #5
I-Gamer
Senior Member
 
Iscritto dal: Jan 2010
Messaggi: 1084
Quote:
Originariamente inviato da sharkkk Guarda i messaggi
certo che puoi, attraverso il DOM.

Il problema qual'e? che sviluppare un automatismo che fa il parse di una pagina (non conosciuta a priori) per trovare la form di login è un'incognita.

Cioè il tuo obbiettivo è quello di trovare la form di login, quindi i tag <form..> ... </form>, ma se il sito è fatto in flash quei tag non li vedrai mai, stessa cosa se la form è fatta in javascript.

Ora se il tuo obbiettivo è fare una cosa statica, dove tu hai una lista di siti prestabiliti su cui vuoi fare questa cosa, si può fare, ma non c'e da scrivere tanto codice, perche puoi fare uno switch, dove a seconda del servizio scelto, tu costruisci la stringa es. http://www.hwupgrade.it/login.php?us...ss=tuapassword e lo ridirezioni li (visto che conoscendo il sito a priori puoi costruire tu la stringa ad occhio, leggendo tu il codice html).

Se il tuo obbiettivo è una cosa dinamica, e quindi vuoi gestire tutti i possibili siti, allora c'e da scrivere un po di codice javascript e scorrendo il DOM capire dove si trova la form, trovare quella giusta, estrapolare i dati giusti.

Per gestire un login errato non saprei, è una bella domanda, avrei delle idee ma non so quanto "belle" sarebbero.
Dipende comunque dall'implementazione, lato server, del caso di login fallito.
C'e chi ti ridireziona in un'altra pagina, c'e chi ti da la notifica sulla pagina stessa (AJAX), ecc..



Ma la tua applicazione vuole essere una cosa che funziona universalmente o per un range di siti predefiniti?
La mia applicazione deve funzionare per un unico sito web...

Quello che mi piacerebbe fare è salvare i dati di login in un account che crei sul dispositivo.
Esempio:
ACCOUNT 1
Username = user
Password = pssw

Ed associare un metodo di sblocco di android (pin, scorrimento, riconoscimento facciale) in modo che per accedere all'account non bisgona scrivere nè user nè password ma utilizzare questi metodi che sono più intuitivi.

Grazie ancora

Buona serata!
__________________
Ho concluso positivamente con: Nicole Ridgway, Alphacyngni, ICER, gtv3000, holydio,MaxN, albert78, GTO286, subrahmanyam, Commanders, MarcoTechnofolle, master3000, nuvolona,xqtm,bruciato e altri

Ultima modifica di I-Gamer : 09-12-2014 alle 23:04.
I-Gamer è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2014, 09:39   #6
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Il form che hai individuato esegue una post, ciò significa che non puoi passare i parametri tramite l'url. Per fare una post ci sono due possibilità:
1) Utilizzare le classi dedicate al protocollo http;
2) precompilare un form html e farlo sottomettere tramite il browser integrato.
Il primo metodo te lo sconsiglio perché poi sarebbe necessario iniettare i cookies di risposta all'interno del browser integrato, che è una cosa fattibile ma esageratamente complessa per il caso in questione.
Il secondo metodo è abbastanza semplice, basta che inserisci i dati di autenticazione nel form e lo fai caricare al browser integrato, poi tramite javascript lo sottometti (puoi inserire il codice javascript direttamente nell'html). Quando dico "inserisci i dati di autenticazione nel form" intendo dire che nell'applicazione scrivi una cosa tipo:
Codice:
String data = "<html>
  ...
  <form name='form1' method='post' action='http://.../login.php'>
    <input type='hidden' name='login" value='yourUsername' value='" +variabile_username +  "'>
    <input type='password' name='password' value='" +variabile_password + "'>
    ...
  </form>
  <script>
    //sottometti form1
  </script>
</html>";
Per caricarlo nel browser utilizzi WebView.loadDataWithBaseURL.
Ho volutamente omesso delle istruzioni per evidenziare i punti salienti.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 13-12-2014, 18:34   #7
I-Gamer
Senior Member
 
Iscritto dal: Jan 2010
Messaggi: 1084
Grazie ragazzi,

sono riuscito a fare un'applicazione che sulla prima activity prende i dati di login e quando viene premuto il bottone di login spedisce i dati nella seconda activity con i quali fa il login nel sito (tramite URL) che viene visualizzato tramite webview!

@Daniels118 dato che con alcuni parametri non funziona mi potresti spiegare come funziona meglio il secondo metodo di cui parli?

Grazie!
__________________
Ho concluso positivamente con: Nicole Ridgway, Alphacyngni, ICER, gtv3000, holydio,MaxN, albert78, GTO286, subrahmanyam, Commanders, MarcoTechnofolle, master3000, nuvolona,xqtm,bruciato e altri

Ultima modifica di I-Gamer : 14-12-2014 alle 00:23.
I-Gamer è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2014, 09:22   #8
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Si tratta di caricare un form precompilato nel browser (webview) e sottometterlo, cos'è che non ti è chiaro?
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2014, 22:45   #9
I-Gamer
Senior Member
 
Iscritto dal: Jan 2010
Messaggi: 1084
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Si tratta di caricare un form precompilato nel browser (webview) e sottometterlo, cos'è che non ti è chiaro?
Niente, tutto ok

Grazie ancora a tutti!
__________________
Ho concluso positivamente con: Nicole Ridgway, Alphacyngni, ICER, gtv3000, holydio,MaxN, albert78, GTO286, subrahmanyam, Commanders, MarcoTechnofolle, master3000, nuvolona,xqtm,bruciato e altri
I-Gamer è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto Robot tagliaerba Navimow i105E in prova: GPS e v...
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G? Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchi...
Corsair One i500: un PC gaming potente che può stare anche in salotto Corsair One i500: un PC gaming potente che pu&og...
realme 12X 5G: ottimo compromesso a meno di 200 euro realme 12X 5G: ottimo compromesso a meno di 200 ...
Recensione Apple iPad Pro M4: è più potente di un MacBook Air M3 Recensione Apple iPad Pro M4: è più...
ASUS ROG Ally X ufficiale: ecco specific...
È il miglior portatile gaming tut...
Sono mini PC potenti e con prezzo imbatt...
159€ sono davvero pochi per questo ottim...
Le 5 svendite Amazon top: TV 55" LG...
La missione cinese Chang'e-6 è at...
dearMoon: la missione spaziale privata i...
Il richiestissimo controller DualSense o...
Il MacBook Air 13,6'' del 2022 (chip M2)...
Sono questi gli iPhone 15 più sco...
I robot per le pulizie più conven...
Tutte le offerte Amazon del weekend: iPh...
GoPro Hero 12 Black crolla a soli 291€ c...
Speciale TV Amazon: 65" a 499€, 55" a 34...
Gli astronauti cinesi della missione She...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www1v