Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
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


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
SpaceX Starship: Ship 37 ha eseguito due...
Sharkoon punta sui case a basso costo, m...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
Il rover NASA Perseverance ha ''raccolto...
NASA e ISRO hanno lanciato il satellite ...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
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: 01:56.


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