PDA

Visualizza la versione completa : CGI, riformattare la pagina ottenuta


tex1984
15-08-2006, 19:42
ciao a tutti, sto cercando di immettere all'interno del mio sito un form che dati i vari parametri di ricerca, mi elenchi (ad esempio da alitalia.it) i voli disponibili; ho realizzato un semplice form adattandolo alle specifiche del form di alitalia.it. Fin qui tutto bene infatti inserisco i parametri nel form, clicco su cerca e mi apre la pagina dal sito di alitalia.it elencandomi i voli ottenuti dalla ricerca. Mi chiedevo se fosse possibile in qualche modo far si che i risultati della ricerca non vengano visualizzati secondo la formattazione del sito alitalia ma secondo una mia formattazione a piacere. Cerco di spiegarmi, ho bisogno di un sistema per prelevare tutte le informazioni di ogni volo dalla pagina web che alitalia mi rimanda, formattarle e visualizzarle, come se non fossi insomma passato attraverso alitalia.it.
acc scusate le ripetizioni ma ho scritto in fretta spero di essere stato decentemente chiaro.
grazie a tutti siete grandi

tes

shishii
20-08-2006, 18:03
Devi usare i moduli Perl LWP.

Cerca su http://search.cpan.org tramite la chiave "LWP".
verifica sul tuo sistema se hai già istallato i moduli in questione altrimenti istalla "Bundle::LWP"

tex1984
20-08-2006, 21:46
Ho fatto svariate prove con perl e precisamente il modulo WWW::Mechanize, ho anche ottenuto uno spazio su awardspace.com in modo ta mettere online i miei script perl, tramite mechanize riesco a simulare da script la compilazione e il submit di un form semplice (metodo GET) come quello su "http://search.cpan.org", tutto va come deve ed ottengo un oggetto HTTP::Response, il content del quale è il risultato della ricerca. Mentre se passo ad un form più complesso come quello di "alitalia.it", metodo POST, dopo aver simulato il filling dei campi e la pressione del submit , ricevo un oggetto response il quale però non contiene il risultato dell'interrogazione del form, ma mi redirecta ad una strana pagina di awardspace.com :"http://www.awardspace.com/articles/do_i_need_web_hosting.html"
probabilmente a causa di errore della richiesta POST. Ora sto cercando di controllare tutti i campi delle richieste e delle risposte http, per vedere se coincidono con quelli "giusti" presi dal plugin "Live HTTP Headers" di Firefox.
Grazie dell'interessamento e se hai qualche idea ti prego di farmi sapere magari se ti va posso farti avere il sorgente perl, magari ci dai un occhio.

tex1984
20-08-2006, 21:56
ecco sono appena giunto alla conclusione che potrebbe (dico potrebbe perchè oramai non so più dove sbattere argh!) essere un problema di redirect, infatti la risposta che ottengo dal server è la seguente:

Cache-Control: private
Date: Sun, 20 Aug 2006 19:42:13 GMT
Location: /booking/SelectPrice.aspx
Server: Microsoft-IIS/6.0
Content-Length: 142
Content-Type: text/html; charset=utf-8
Client-Date: Sun, 20 Aug 2006 19:47:15 GMT
Client-Peer: 80.72.160.110:80
Client-Response-Num: 1
Client-Warning: Redirect loop detected (max_redirect = 0)
Set-Cookie: AZ_STATE=/Z3wc0pOfZ6hE65ifkl6YIAPQPRTIh/SsDBVykGK0Sc=; path=/, AptSelection=Usage=True&RT=LON-VCE; expires=Tue, 19-Sep-2006 19:42:13 GMT; path=/
Title: Object moved
X-AspNet-Version: 1.1.4322
X-Powered-By: ASP.NET
Object moved to here. -> che credo sarebbe dove sarei reindirizzato

Per ottenere questa risposta però ho dovuto settare l'attributo redirect_max dell'oggeto WWW::Mechanize a 0, perchè altrimenti venivo reindirizzato alla pagina di errore descritta prima, ovvero:

"http://www.awardspace.com/articles/do_i_need_web_hosting.html"

Come posso fare per far seguire alle mie richiesta il flusso giusto di redirect?

Loading