Aggiorno appena la situazione.
Purtroppo la faccenda non è per me affatto semplice perchè davvero di questi argomenti non ne so nulla. Per questo chiedevo anche qualche link ad informazioni mirate.
Si aggiunge il fattore tempo, nel senso che al momento non ho troppo tempo per documentarmi, o meglio non ho troppo tempo per spulciare documentazione potenzialmente inutile allo scopo... Non so se avete presente quando si brancola nel buio... ecco.
Ciononostante, grazie a qualche ricerca in rete ho trovato in un forum un consiglio che veniva dato ad un utente in una situazione simile alla mia. Consiglio molto generico, ma tutto sommato utile per capire come funziona quel diabolico sito.
Si consigliava di collegarsi al sito con un qualsiasi browser (nel mio caso chromium) e premere F12.
In questo modo si apre l'interfaccia "sviluppatore".
Da questa se si seleziona in alto "Network" e si filtrano tutti gli oggetti impostando "Documents".
Si vedono tutte le richieste che vengono fatte al server e le risposte che ci ritorna. Legate al particolare oggetto presente nella pagina che abbiamo sotto il naso.
Ho pensato di condividere con voi questa "scoperta" perchè penso che per alcuni di voi sia così molto più facile capire come funziona il marchingenio.
Potete fare un semplice test:
- vi collegate all'indirizzo principale
- premete F12 e salta fuori l'interfaccia sviluppatore
- scegliete Network e filtrate Documents
- adesso aggiornate la pagina
- vedrete che compaiono 3 frames di cui è composta la pagina principale. A tutti e tre corrisponde la richiesta "GET" (abbiamo fatto una richiesta http, niente di che...).
- a questo punto si può provare a selezionare ad esempio "stazione", in alto nella pagina principale e guardare cosa accade nella nostra finestra "strumenti sviluppatore" (o development tools per gli anglofili)
- compare l'oggetto "PubAccessoDatiMeteo12.asp" che nell'header riporta "POST", infatti selezionando "stazione" abbiamo eseguito una richiesta immettendo praticamente un dato.
- sempre negli headers c'è anche una voce "Form Data", che ha il seguente valore: "TipoTema=STAZIONE&Azione=&CodRete=&CodTema=STAZIONE"
- poi compare anche ""PubAccessoDatiMeteo13.asp/CodTema=STAZIONE" che invece ha "Request Method" "GET".
- A questo punto non vedo ancora nessun riferimento numerico a "IdRichiesta". Va detto che ci sono in gioco dei cookies e che la connessione riporta "keep-alive" (wget ha un'opzione keep-cookies o qualcosa del genere, le cose possono avere simile scopo, ma non ne sono sicuro)
- sulla pagina principale intanto è comparso il solito menu a tendina da cui si può selezionare la stazione di nostro interesse. Se ne scegliamo una ecco che qualcosa di interessante si vede aggiungersi nel dev tools. Ad esempio io ho scelto una stazione a caso "Alpe Vobbia (Genova)".
- Si aggiunge di nuovo l'oggetto blabla12.asp che di fatto è la richiesta della pagina
http://www.cartografiarl.regione.liguri ... eteo12.asp
anche sta vola con metodo "POST" perchè anche sta volta avendo scelto qualcosa abbiamo di fatto comunicato qualcosa al server.
- andando a vedere gli headers ecco che alla voce "Form Data" compaiono CodUbiq: ME00062 (che sarebbe l'identificativo della stazione scelta sopra (alpe vobbia nel mio esempio). Ma poi compare anche il foxxuto IdRichiesta: (IdRichiesta:56653167886083).
Se scelgo la visualizzazione sorgente di questa voce "From Data" ecco come appare:
Codice: Seleziona tutto
CodBacino=&CodUbic=ME00062&CodProv=&Ubic=ME00062&LatMin=&LonMin=&LatMax=&LonMax=&Frequenza=HH&Azione=INSERISCI_TEMA&CodTema=STAZIONE&IdRichiesta=56653167886083&IdRichiestaCarto=
Il problema è ancora una volta l'id_richiesta che non l'ho scelto io da qualche parte, ma secondo me viene creato al volo da qualche meccanismo nascosto.
- Ad ogni modo a questo punto si avrebbero tutti gli elementi per costruire il nostro link finale (v.di post precedenti)
Per il momento non vado oltre.
Aggiungo invece una nota sull'utilissimo dev tools di chromium: cliccndo col destro sull'oggetto aggiunto possiamo anche copiare la nostra richiesta in formato "curl". Ecco come appare:
Codice: Seleziona tutto
curl 'http://www.cartografiarl.regione.liguria.it/SiraQualMeteo/script/PubAccessoDatiMeteo12.asp' -H 'Cookie: ASPSESSIONIDAQRBAQCC=FJABGCJDLHBPHEKNIAOEJGBH; ASP.NET_SessionId=i5hyuuepnk15x02hntshrrv2; ASPSESSIONIDAQTBATAD=OJAODKIDOOONBKCBJCFPBDCB; ASPSESSIONIDASRBAQDC=OIPHFIKDKNMAJJPFKFCBDKIK; ASPSESSIONIDAQTACTAD=GOLLDDHDKNGDMFCHMBINHMJC; ASPSESSIONIDCQSAAQDC=OFHBCNLDJMFCLNHLMHABPJKE; ASPSESSIONIDCSQBCTBD=KCKHCDDAHCADBGAMJBLIDMIK; ASPSESSIONIDASQBCTAC=CMCLNBFABDIFPNCIMCOOKFPC; ASPSESSIONIDCQSBATBC=LGCOPLBAJKKJALHLGGFBNNCM; ASPSESSIONIDCQQDBQDC=NHADALJAGDPOBBLFIJEBHBKL; ASPSESSIONIDCSTCCTAC=KJBJDCOAIKHJHNDDPKJGEJHB; ASPSESSIONIDCSRBASBC=IEENLEMABPLLMFBAPCENGBDO; ASPSESSIONIDASTACRAC=JPLJBJJBJCBCAEJHNKODCDPJ; ASPSESSIONIDCQQCAQDD=MAHBPLKBDNBJPOBINGNJFKPJ; ASPSESSIONIDCQSBATBD=BFPNEJNBLGAHJPNGKIEDMECN; ASPSESSIONIDCQSDCSBC=CPCDHNGBBFPCPJDNDJIBAFNN; ASPSESSIONIDCSQCDTAC=EMFFFCFCDFAGJKFEOINHOFBG; ASPSESSIONIDASTABQCC=JIJODGBCDPBOAPJHFDCIIKBH; ASPSESSIONIDCQSBCSAC=HGBDFKEABJKMKBKAIKJLKJJH; ASPSESSIONIDCSTAASBD=BADFHPEALPDOCNIKMBIONFAC; ASPSESSIONIDAQSDDQBC=KGCPNHGADDCOJIAABDHKLFGL; ASPSESSIONIDAQRABQDD=LNKOHABALKOBMDJGDBNOAKHI; ASPSESSIONIDASRDDSBC=DDKDMHHAFCHHMJNPNMGBJHJK; ASPSESSIONIDCSTADQBD=COLJKDABBDHLHDCEFJDAPPAE; ASPSESSIONIDCQSBDTBC=GNPEDJLAELDOCFGBJOCCLKPM; ASPSESSIONIDAQTDCTAC=BHPLPPGBBPOMGEDNAOMGPPHB; ASPSESSIONIDCQRCASAC=BHIFPBGBOGJJKHOGHFDLLJKP; ASPSESSIONIDCQSBAQCC=HKAHEMJBEAKBMFLCKJKAAAJF; ASPSESSIONIDAQQAAQCC=OHKFJHKBBDGHGDJKPDICKMGI; ASPSESSIONIDCQQBBQCD=OENJJNBCJHPPMDNFPCIPCBBJ; ASPSESSIONIDCQRAATAC=HCGGHKLCJHKLELJMGDGNOHPP; ASPSESSIONIDCSRAATBC=OILPMPBAHIJBMKCGIDFDCGJA; ASPSESSIONIDAQTDBQCD=BBPLKOHBNECEFDHPFEFGPCGJ; ASPSESSIONIDCSRDARDD=PBIMPKEBOCNNEIMNCHNMLPLE; ASPSESSIONIDAQRBDRDD=DCLDMMIBEDLFJHJPPLNNNEIJ; ASPSESSIONIDCQRCBRCC=PCIFHNJBANNIKKANCOHLLNFG; ASPSESSIONIDCQSCCTBC=AHNBKPDALMLIAPOHODHHFAOM; ASPSESSIONIDASRCBRDC=OADPIPEAGJHKNKNAECDFLJHL; ASPSESSIONIDAQQDARDC=JDAPHLMDIIHBBJAIEFEOFEHH; ASPSESSIONIDCQRBDRBD=IGOPLDFAMPLEJOIDBCDAGNID; ASPSESSIONIDAQRCCSAC=DPOHHENBPPKBJNCLOHKIJOOC; ASPSESSIONIDCSSCCQDD=DPPFDKLBIHGGBIJOCMNEAPKC; ASPSESSIONIDASQABRDC=BPLBEAOBBAIILBECHDEIFLHG; ASPSESSIONIDCSQADQDD=LCPLMGPBMBHMKMKDLMLLLJMC; ASPSESSIONIDASSBDSAD=NPNDMHACKOGJCLGPEDHAHADL; ASPSESSIONIDCQSDAQCD=BAKHOLCCHDKILAKCOHLONOOH; ASPSESSIONIDCSQCBRCD=EMIJNOJCDLNJHJIDAGJGGMCA; ASPSESSIONIDCQRABTBD=EHLGPCGCLFFLHEGNEIHCBEFP; ASPSESSIONIDCSRCASBC=LGIBPPKCHKHMIFMCFMBGEPHC; ASPSESSIONIDAQTDBSBD=CMDLHMOCICJIJJGDPNEFAFKM; ASPSESSIONIDASTDBRCD=OGIPKGDDPNPKHAFOLAOJHNAP; ASPSESSIONIDCSTADRCD=MKAPLBEDNMELFGJBIIOKILAM; ASPSESSIONIDASSCCRCC=MHNPEHFDNGGABDFNOANKPHLJ; ASPSESSIONIDCQTDARCD=IEHAKPCDLEIBJCIDEBPMCDGG; ZNPCQ003-31333400=26f55a5d; ASPSESSIONIDAQRADSBC=AACADECBAKPCEBDNLLPOKHCD; ASPSESSIONIDCQRCAQDC=HJLJDOHBHMPGKIAAKGONIKAJ; ASPSESSIONIDCQSCDTAC=OFGJEMBCKENBCOHHBCOGAJGJ' -H 'Origin: http://www.cartografiarl.regione.liguria.it' -H 'Accept-Encoding: gzip,deflate,sdch' -H 'Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4,en-GB;q=0.2' -H 'User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Referer: http://www.cartografiarl.regione.liguria.it/SiraQualMeteo/script/PubAccessoDatiMeteo12.asp' -H 'Connection: keep-alive' --data 'CodBacino=&CodUbic=ME00062&CodProv=&Ubic=ME00062&LatMin=&LonMin=&LatMax=&LonMax=&Frequenza=HH&Azione=INSERISCI_TEMA&CodTema=STAZIONE&IdRichiesta=56653167886083&IdRichiestaCarto=' --compressed
Ecco che appare in ultima riga anche l'id_richeista. Che da qualche parte deve essere stato generato...
Ok, ad ogni modo si è scoperto in qualche modo come "selezionare" la stazione.
Manca l'id_richiesta anche se potrebbe non essere così necessario conoscerlo, almeno a questo punto dell'interrogazione.
Ad esempio se fosse possibile simulare la selezione della stazione (Ad esempio con curl o wget) e funzionasse anche senza piazzarci un id richiesta... E se poi nella successiva pagina che ci viene data, che è la "*13.asp" si riesce a leggere anche l'id richiesta.... Ecco che senza conoscerlo in anticipo saremmo comunque in grado di utilizzarlo dopo quando ci servirà costruire il link finale.
Il tutto è un po' contorto. Perchè come dicevo brancolo nel buio...
Non sarebbe male qualche vostra considerazione, commento o ancora meglio se volete provare ad eseguire il test descritto sopra probabilmente ci capirete più di me (mi riferisco a chi mastica web scripting e diavolerie del genere).
Al prossimo aggiornamento!