8704 Letture

Uno script basato su Google Docs per verificare se una pagina web è sempre raggiungibile

Per controllare se un sito è correttamente raggiungibile e verificare che non restituisca alcun messaggio d'errore, è possibile utilizzare un interessante espediente, molto semplice da adoperare.
Il "trucco" che illustriamo in questo nostro articolo si basa sull'impiego del servizio Google Docs, un'applicazione web per la produttività personale interamente fruibile utilizzando il browser.
Uno dei punti di forza della suite per l'ufficio di Google consiste nella possibilità di impostare degli script capaci di automatizzare delle operazioni o di svolgere automaticamente dei compiti ripetitivi.
L'amministratore di un sito web potrebbe utilizzare lo strumento che vi proponiamo per essere tempestivamente informato, ad esempio, mediante l'invio di un messaggio di posta elettronica nel caso in cui una pagina web non dovesse risultare più raggiungibile.

Per iniziare, è necessario effettuare il login al proprio account Google accedendo alla pagina https://docs.google.com.
Non appena verrà visualizzata l'interfaccia di Google Docs, si dovrà fare clic su questo link. Come risultato, si otterrà la comparsa del messaggio che segue:

Il quesito "Eseguire una nuova copia del documento?" sta a significare che il foglio elettronico Google Docs cui fa riferimento il link è al momento memorizzato sull'account di un altro utente. Il documento Google Docs in questione, infatti, è stato elaborato dall'indiano Amit Agarwal che lo ha diffuso e reso pubblico attraverso il suo sito web.
Cliccando sul collegamento ipertestuale Sì, esegui una copia, Google Docs effettuerà automaticamente una copia del documento pubblico preparato da Agarwal e ne visualizzerà immediatamente il contenuto.

Facendo doppio clic sulla cella E3 del foglio elettronico (Your website URL), si potrà indicare l'indirizzo del sito web o comunque della pagina da tenere sotto controllo. Nella casella E5, invece, si potrà introdurre l'indirizzo di posta elettronica al quale dovranno essere inviate le segnalazioni di eventuali malfunzionamenti (impossibilità di connettersi al server o restituzione di un errore).

Ogni volta che si effettua una connessione HTTP, il protocollo prevede la restituzione, alla macchina client, di un messaggio. A questo indirizzo, su Wikipedia, è possibile trovare un'ottima lista dei codici di stato restituibili dal protocollo HTTP. Nel caso in cui la connessione verso l'indirizzo specificato nella cella E3 vada a buon fine (codice 200), il foglio elettronico preparato da Agarwal non invierà alcun report via e-mail. Diversamente, sarà spedita un'e-mail contenente il messaggio d'errore ottenuto e, ove possibile, il contenuto HTML della pagina.

Prima di procedere con la configurazione dello script, è consigliabile il documento Google Docs cliccando sul menù File quindi su Rinomina:

Facendo clic, ancora una volta, sul menù File è poi bene modificare lingua e fuso orario selezionando la voce Impostazioni foglio di lavoro. Dai menù a tendina Opzioni internazionali e Fuso orario, è bene scegliere, rispettivamente, Italia e GMT +01:00, Roma:

Dopo aver cliccato su Salva impostazioni, si dovrà definire la periodicità con cui dovrà essere eseguito lo script di controllo della pagina web remota.


Dal menù Strumenti di Google Docs, si dovrà selezionare Editor di script: qui è possibile verificare il funzionamento dello script ideato dall'indiano Agarwal.

Il funzionamento dello script è molto semplice. Esso si compone di due funzioni (isMySiteDown e insertData): la prima prova a collegarsi con l'URL indicato nella cella E3 del foglio elettronico, recupera il codice restituito dal protocollo HTTP ed invoca la funzione insertData. Questa seconda funzione, non fa assolutamente nulla ogniqualvolta il codice ottenuto sia uguale a quello ricevuto in precedenza mentre invia un'e-mail all'indirizzo di posta in E5 se il codice HTTP è diverso da 200 e comunque da quello avuto in risposta al precedente controllo. Contestualmente, in caso di errore, lo script annota data ed ora dell'evento nel foglio elettronico registrando anche l'eventuale risposta trasmessa dal server.
Lo script, inoltre, provvede ad inviare una nuova e-mail e a registrare l'evento non appena la pagina remota dovesse tornare a restituire il codice HTTP 200 (OK).

Cliccando sul menù Risorse quindi sul comando Trigger dello script corrente, si potrà impostare la frequenza con cui il foglio elettronico dovrà verificare la "raggiungibilità" dell'URL specificato:

Alla comparsa del messaggio riportato in figura, si dovrà fare clic sul link "No triggers set up. Click here to add one now" quindi impostare i vari menù a tendina così come segue:

L'ultima voce (Every n minutes) permette di definire la periodicità del controllo.
Facendo clic su Salva, sarà mostrata una finestra dal bordo rosso col titolo "Authorization required". La comparsa del messaggio è dovuta al fatto che lo script pone in essere alcune azioni in modo del tutto automatizzato quali l'invio di e-mail. Si dovrà confermare premendo Authorize, Chiudi quindi ancora una volta il pulsante Salva.


Lo script è adesso perfettamente funzionante ed ogniqualvolta l'indirizzo specificato non dovesse risultare raggiungibile, si riceverà un messaggio d'allerta via e-mail.
E' bene tenere presente che lo script resta sempre in esecuzione: non è necessario mantenere acceso e collegato ad Internet il personal computer in uso né mantenere attivo il login su Google Docs.


Uno script basato su Google Docs per verificare se una pagina web è sempre raggiungibile - IlSoftware.it