Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    Richiedere informazioni da un URL ( se esiste, il suo status code, gli eventuali metatags, ecc. )

    Ciao,
    per un'applicazione che sto costruendo ho bisogno di verificare gli url inseriti in un form dagli utenti.
    Sono url generici, tecnicamente persino questa pagina di forum, costruito un file php che DOVREBBE fare questo: verificare se l'url esiste, se esiste emettere lo status code, se questo è 200 ( OK ci sono! ) leggerne gli eventuali metatags e trasmette il tutto in versione json al form sul client che: emetterà un segnale rosso o verde a seconda dell'url ( se esiste o meno ) e se esiste e ci sono dei metatags scriverli in textarea predisposte.
    Semplice? La seconda parte sì, la prima non tanto!
    Il motivo non lo so, sto diventando pazzo perché ho iniziato a usare le funzioni predefinite del PHP ma non sempre danno il risultato sperato
    Faccio un esempio:
    se scrivo il semplice codice:
    Codice PHP:
    $url parse_url$url );
    $ip gethostbyname$url['host'] );
    $risposta = array();
        if ( 
    $ip == $url['host'] ) {
            
    $risposta['exists'] = 'no';
        } else {
            
    $risposta['exists'] = 'si';
        } 
    e gli passo come $url = http://ciccio va be che secondo le RFC ciccio è un url valido, ma è anche vero che nel web non esiste! Forse...
    Infatti il programma mi risponde
    {"exists":"si","status_code":"http\/1.0 404 not found"}
    Dove se lo status code è ovviamente 404 non trovato, exists è SI' il motivo?
    Se faccio il var_dump( $url, $ip ); mi risponde:
    array(2) { ["scheme"]=> string(4) "http" ["host"]=> string(6) "ciccio" } string(12) "176.9.149.41"
    dove quel numero IP corrisponde a http://it.altervista.org/ che è il server sul quale il programma gira.
    Mi chiedo perché? Semplice, perché ciccio.altervista.org esiste anche se archiviato esiste su quel server e quindi immagino che il problema sia quello.
    Infatti se invece lo richiamo con una stringa casuale la risposta è questa:
    array(2) { ["scheme"]=> string(4) "http" ["host"]=> string(12) "gfdsgfdgsfdg" } string(12) "gfdsgfdgsfdg" {"exists":"no"}
    che è quella giusta.
    Ovviamente posso ovviare mettendo il programma su un altro server, ma ogni server ha le sue impostazioni, sul mio ad esempio si viene reindirizzati alla homepage del sito, insomma non se ne esce.

    Idee?
    Sono graditi suggerimenti come freegeoip.net che però riportino anche le informazioni di cui ho bisogno

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    PS
    Ho modificato il programma per richiede i dns con
    Codice PHP:
    print_rdns_get_records$url['host'] )); 
    e il problema non cambia, anzi è lo stesso, con http://ddgfhgfdhgfd mi da sito inesistente, ma con http://ciccio mi dice che è su altervista.org come prima insomma!

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.