Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Monitorare pagina web

  1. #1

    Monitorare pagina web

    Ho un'esigenza un pò particolare...

    c'è un sito di cui non sono io l'amministratore in cui tutti i gioni a tutte le ore vi è un'unica pagina web priva di contenuti (con una scritta "coming soon").
    Una volta al mese e per poche ore, in un momento non noto questo sito apre all'utenza.

    Vorrei sapere se è possibile sviluppare uno script php che nel momento esatto in cui quella pagina web cambia diventando accessibile posso avere un allert/trillo/annuncio... nel mio sito.

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    se ho ben capito la tua richiesta, la soluzione sarebbe creare uno script che viene richiamato da un cron su server o direttamente dal browser, con una cadenza di 1, 5, 10 minuti ( vedi tu ), che effettui una chiamata alla funzione file() o in alternativa file_get_contents() con parametro la url da verificare.

    Se il contenuto è diverso da ciò che ti aspetti ( diverso da 'coming soon' ) ti fai avvisare con una email o con un sms ( ci sono diversi siti che ne vendono e danno le api per gli sviluppatori )

    Spero di averti aiutato.
    Ciao

  3. #3
    di cosa disponi?

    per fare una cosa del genere ovviamente ti serve un server con php o altro a disposizione...

    per php ci sono diverse possibilità, la più semplice è forse usare i socket o curl, per curl ti posso aiutare, si sviluppa un piccolo webbot che lanciato da cron esegue periodicamente il controllo, scarica la pagina e guarda o negli header della stessa o ne fa il parsing, dipende, dovrei vedere la pagina per valutare la cosa....

  4. #4
    grazie immensamente per la risposta...

    Non dispongo di conoscenze tecniche che vanno al di là del puro e semplice php e i socket nn li ho mai utilizzati... a dirla tutta io ho un dominio gratuito su altervista e per quanto ricordi nn mi consente di utilizzare socket e curl (mi pare per ragioni di sicurezza... ma posso sbagliarmi).

    Ho utilizzato qualche script con curl (nn realizzato da me) ed l'ho caricato su 00webhosting (anh'esso gratuito) e funzionava.

  5. #5
    per vedere se disponi di curl, su php.net c'è l'esempio di curl_version()

    io per diletto sto leggendo al momento un libro sui webbot, ad esempio ultimamente ne ho fatto uno che mi ricerca nelle gazzette speciali alcune parole chiave, verifica la scadenza degli articoli e cosi via, una volta per esempio ne ho fatto uno che compilava in automatico dei form e simili, provava delle password e cosi via, verfica di link e compagnia bella, il sito del libro è questo, ci dovrebbero essere le librerie di esempio scaricabili...

    http://www.schrenk.com/nostarch/webbots/

    poi se ti servisse una mano....

  6. #6
    ci sono quasi... più o meno funziona ma ho un dubbio e due problemi. Vi posto ciò che ho realizzato

    Codice PHP:
    <html>
    <head>
    <meta http-equiv="refresh" content="10;url=questa_pagina.php" />
    <head>
    <body>




    <?php 
    if(false == ($Result file_get_contents("http://sito_da_monitorare.com/")))
        { 
            echo 
    "impossibile eseguire la verifica"
        } 
    else 
        {
        
    $search="Under costruction";
        
    $risultato_ricerca=strpos($Result$search);

        if(
    $risultato_ricerca)
            {
            echo 
    "Il sito è chiuso.";
            }
        else
            {
            echo 
    "Il sito è aperto.";
            if(!
    file_exists("invio.txt"))
                {
                include(
    "conn.php");
                global 
    $db_host$db_user$db_password$db_database;
                
    $connessione mysql_connect($db_host,$db_user,$db_password);
                
    $query="select email from iscritti";
                
    $sql=mysql_db_query($db_database,$query,$connessione);
                while (
    $riga=mysql_fetch_array($sql))
                    {
                    
    $email=$riga['email'];
                    @
    mail($email"notifica di apertura""il sito è aperto");
                    }
                
    fopen("invio.txt","a");
                }
            
            }
        }
     
    ?>

    </p>
    </body>
    </html>
    Il dubbio è: nel momento in cui il sito che voglio monitorare apre lo script manda una mail ma per evitare che invii più di una mail ho gestito il tutto con la condizione if(!file_exists("invio.txt")) e con la funzione fopen("invio.txt","a"). E' corretto? ci sono rischi di invii multipli di mail? ci sono alternative?

    Il primo problema è: lo script richiede di essere lanciato da un utente che apre tale pagina e per eseguire il monitoraggio in diretta ho utilizzato un semplice <meta http-equiv="refresh" content="10;url=questa_pagina.php" />.
    Accade tuttavia che se sono collegati un numero discreto di utenti si blocchi e compare il messaggio "server too busy etc etc"; Ciò dipende dal fatto che il server che utilizzo in questa fase di test è gratuito? oppure questo script manderebbe qualsiasi server ko?

    Il secondo problema è: lo script per funzionare (inviare la mail di notifica) richiede che almeno un utente sia connesso; alla luce del primo problema e di questo secondo è possibile far funzionare lo script in autonomia cioè anche senza utenti su questa pagina?

    Se fosse possibile ciò farei nel sito una cosa molto più soft ad esempio
    Codice PHP:
    if(file_exists("invio.txt"){echo "sito aperto";} 
    else {echo 
    "sito chiuso";} 

  7. #7
    up... nessuno mi aiuta?

  8. #8
    ...perchè nn risp nessuno... in fondo lo script l'ho fatto... chiedevo solo consigli...

  9. #9
    Il secondo problema è: lo script per funzionare (inviare la mail di notifica) richiede che almeno un utente sia connesso; alla luce del primo problema e di questo secondo è possibile far funzionare lo script in autonomia cioè anche senza utenti su questa pagina?

    Se fosse possibile ciò farei nel sito una cosa molto più soft ad esempio
    Codice PHP:
    if(file_exists("invio.txt"){echo "sito aperto";} 
    else {echo 
    "sito chiuso";} 
    mi rispondo da solo... cron job ... nell'attesa che qyalche anima pia mi dia consigli...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.