... la cosa bella è che non influisce sul voto finale ma tale progetto è obbligatorio per il superamento dell'esame. Ne segue che vorrei usare meno tempo e risorse possibili per l'elaborazione.
Devo fare un programma (in java) che prenda in ingresso degli indirizzi di pagine web e che generi (durante l'esecuzione in background) un messaggio di avviso ogni volta che una delle pagine in esame viene aggiornata.
Qualcuno mi sa consigliare come posso fare per completare questo programmino in scioltezza, ovvero buttar giù qualcosa che funzioni e nulla più?
dengiù
![]()
Dunque.Originariamente Scritto da belli83
Mi sembra che una cosa così si faccia più agevolmente in JAVASCRIPT
Che non mediante un'applet java.
sicuro che era Java?
Cl.
![]()
"S'è la notizia fossi confermata sarò zio."
E questi sono gli String args[] del mainOriginariamente Scritto da belli83
Per me non è indispensabile in questo caso, però probabilmente in quel corso si parla di programmazione concorrente, quindi devi creare un thread (quelle classi col metodo void run(), per intenderci) con un ciclo infinito nel metodo run() del tipoOriginariamente Scritto da belli83
Codice:void run(){ String pagina1, pagina2; String pagina1_old, pagina2_old; pagina1_old = leggi_paginaweb_come_stringa(indirizzo_pagina1); pagina2_old = leggi_paginaweb_come_stringa(indirizzo_pagina2); while(true){ pagina1 = leggi_paginaweb_come_stringa(indirizzo_pagina1); pagina2 = leggi_paginaweb_come_stringa(indirizzo_pagina2); if(pagina1.compareTo(pagina1_old)){ //se le pagine sono diverse visualizza_finestra("Pagina 1 cambiata"); //metodo che crei e apre una finestra di avviso pagina1_old = pagina1; } if(pagina2.compareTo(pagina2_old)){ //se le pagine sono diverse visualizza_finestra("Pagina 2 cambiata"); pagina2_old = pagina2; } } }A me viene in mente questo... penso sia giustoOriginariamente Scritto da belli83
Paolo
Il avevo pensato di leggere l'header delle pagine HTML, da qualche parte (nell'header) non dovrebbe esserci l'ultimo aggiornamento o comunque qualcosa che permette un buon utilizzo della cache del computer?
Continuando a scansionare l'header, dovrei accorgermi del cambiamento.
E'plausibile un'idea del genere?![]()
![]()
no. nell'header HTML non c'è nulla di tutto questo.Originariamente Scritto da belli83
al massimo puoi leggere l'header HTTP che ti dice quando è stato modificato l'ultima volta il documento ma questo non è valido con le pagine create server-side come pagine .php o .asp.
quindi devi creare un thread che ogni tot si risveglia, copia tutto il sorgente html in un file poi lo compara con l'ultima copia, infine restituisce il messaggio in caso i due siano uguali, poi cancella la copia più vecchia e di nuovo sleep.
per vedere se le due pagine sono uguali... l'idea più stupida che mi viene in mente e usare qualche funzione hash in cui dare in pasto le pagine html infine controllare se i due risultati sono uguali. ma premetto che ci sono almeno 10 soluzioni più veloci ed efficienti.
Gli Italiani perdono le guerre come se fossero partite di calcio e le partite di calcio come se fossero guerre. W.Churchill
Federico Rubagotti
MeteoNetwork
impossibile da dare con javascriptOriginariamente Scritto da claudioricci
![]()
L'unica persona a cui mi sento superiore è me stesso del giorno precedente.
~always looking at the sky
Segnalibri