Sto tentando di utilizzare Perl's WWW::Mechanize per accedere alla mia banca e ottenere informazioni sulla transazione. Dopo aver effettuato l'accesso tramite un browser alla mia banca (Wells Fargo), visualizza brevemente una pagina web temporanea che dice qualcosa del tipo "per favore aspetta mentre verifichiamo la tua identità". Dopo pochi secondi, passa alla pagina web della banca dove posso ottenere i miei dati bancari. L'unica differenza è che l'URL contiene molti più parametri "GET" aggiunti all'URL della pagina temporanea, che aveva solo un parametro sessionID.Come posso far accedere WWW-Mechanize al sito web di Wells Fargo?
Sono riuscito a ottenere correttamente WWW :: Mechanize per accedere dalla pagina di accesso, ma si blocca sulla pagina temporanea. C'è un tag <meta http-equiv="Refresh"
... nell'intestazione, quindi ho provato a $mech->follow_meta_redirect
ma non mi ha superato nemmeno quella pagina temporanea.
Qualsiasi aiuto per superare questo sarebbe apprezzato. Grazie in anticipo.
Ecco il codice barebone che mi viene bloccato a pagina temporanea:
#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->agent_alias('Linux Mozilla');
$mech->get("https://www.wellsfargo.com");
$mech->submit_form(
form_number => 2,
fields => {
userid => "$userid",
password => "$password"
},
button => "btnSignon"
);
Grazie per il puntatore a Firebug. L'ho installato e ho notato che c'è una riga < 'nella pagina intermedia che fa riferimento a una funzione javascript. Immagino di essere sfortunato dal momento che Mech non può trattare con javascript a questo punto. –
Potresti non essere sfortunato, devi solo scoprire cosa stanno facendo quelle funzioni Javascript e fare in modo che Mech faccia la stessa cosa. Usa Firebug per osservare la transazione HTTP: ci sono campi o cookie POST che non hai mai visto prima? Probabilmente il JS li ha aggiunti, quindi aggiungi le stesse cose con il Mech. – friedo