Newsgroup: it.comp.lang.delphi
Titolo: Login in sito https (remote banking) e recupero file

E' un po' che non ci si vede eh? :)
Vi disturbo per una domanda più teorica che pratica, nel senso che 
vorrei capire, prima di sbattermi per giorni, se quella che voglio fare 
è una cosa realizzabile oppure no.
Oggi un utente, tutti i giorni, entra nel sito del nostro remote banking 
(quindi connessione https), va in una sezione, clicca su un paio di 
migliaia di link e si scarica un file con i movimenti CBI.
Dite che si riesce (il come poi me lo studio io) a fare un programma che 
lo faccia in automatico?
 
-- 
Jax

In teoria si. Ma ci sono degli ostacoli.
 
1) Io per accedere devo digitare nome utente e pin, e fin qua ok. 
Ma poi devo inserire un codice calcolato con una kaz di chiavetta.
Quindi, l'automatismo, se pur fattibile, dovrebbe prevedere almeno che l'utente inserisce questo kaz di numero magico.
 
2) I layout delle pagine cambiano con una certa frequenza.
Un eventuale sistema automatico potrebbe non essere in grado di rendersene  conto. Ergo: RE FACTORING.
 
3) Le credenziali dovresti cablarle. 
Metterle in un file ini potrebbe non essere una buona idea.... :-D
 
4) Molti siti di banche dopo n tentativi falliti di accesso, ti bloccano tutto.
Non so la tua, ma la mia banca in un caso del genere ti dice "mo vai in filiale per sbloccare la situazione!". 
Ovviamente, in base alla legge di Murphy, una cosa del genere capita DI SICURO in uno di questi "momenti":
 
a) ultimo giorno utile per pagare IVA/INPS/IRAP/QUIQUOQUA/PAPERINO ETC
 
b) di venerdi sera dopo le 17 con lunedi festivo quando hai urgenza di fare qlc bonifico.
 
A.
 

 lo faccia in automatico?
 
Per accedere a risorse disponibili in HTTPS puoi utilizzare "Indy Components" con l'IOHandler per SSL (TIdSSLIOHandlerSocketOpenSSL).
 
La semplicità con cui puoi scaricare i dati di cui parli dipende dalle interazioni che il sito prevede per poter arrivare a tali informazioni; ad esempio, in alcuni casi i dati ti vengono restituiti con una semplice GET, magari con qualche parametro di filtro, mentre in altri la pagina contiene logica complessa e campi nascosti da rispedire perché dietro (lato server) potrebbe esserci una logica ulteriore per la gestione dello stato della pagina o la sua sicurezza (es. ViewState, token anti-forgery, ecc.).
 
Dovresti scaricare un tool da installare nel browser (es. Firebug) e vedere quali pacchetto il sito scambia con il client per giungere a ottenere una determinata funzionalità.
 
In ogni caso, queste dinamiche cambiano da sito a sito quindi devi comunque sperimentare. :)
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 

 b) di venerdi sera dopo le 17 con lunedi festivo quando hai urgenza di fare qlc bonifico.
 
Non ti ricordavo cosě catastrofico! :)
Comunque mi basta la prima risposta, vediamo un po' cosa riesco a 
combinare con i cari vecchi Indy.
 
-- 
Jax

 In ogni caso, queste dinamiche cambiano da sito a sito quindi devi comunque sperimentare. :)
 
Grazie, farò qualche test :)
 
-- 
Jax

 Per accedere a risorse disponibili in HTTPS puoi utilizzare "Indy Components" con l'IOHandler per SSL (TIdSSLIOHandlerSocketOpenSSL).
 
Per caso sai che versione delle librerie di OpenSSL devo utilizzare con 
questo Handler? Ne ho provate un po' ma ogni volta mi dà l'eccezione 
EIdOSSLCouldNotLoadSSLLibrary con il messaggio, indovina? Could not load 
SSL library.
Le due DLL le ho messe nella stessa cartella del programma.
 
-- 
Jax

> Non ti ricordavo così catastrofico! :)
 
Non è catastrofismo: e' REALISMO. 
 
Ad esempio, si sa che il toner o la cartuccia della stampante o la carta si esaurisce la domenica sera verso le 23.00 e tu la mattina dopo entro le 9.00 DEVI consegnare quel particolare documento stampato..... 
 
Oppure che l'unica volta che hai lasciato a casa il portafogli quel personaggio che sembra mitologico (il controllore del treno) spunta e ti fa la multa....
 
A me salto' la chiavetta di venerdi sera.
Dovevo fare un bonifico urgente e il lunedi era festivo.
E in questi casi DEVI andare in filiale.
 
A parte questo proselitismo all'unico vero profeta (Murphy), il rischio dell'automatismo e' che, pensato per un certo layout, al suo cambiamento il sistema potrebbe fare qualche click di troppo....
Pensa ad esempio se cambia il layout prp della login.
 
A.
 
 
 
 
 

 SSL library.
 
Qui ne trovi diverse, già compilate:
http://indy.fulgan.com/SSL/
 
