Realizzazione di un Check Server Headers con PHP5 per utilizzare le risposte e gli Status utilizzando la funzione get_headers | Programmatore PHP Freelance di Napoli per Sviluppo Siti Internet
Status e URL Valide con PHP 5 e get_headers();
Scritto da: Daniele Tabacco | Categoria: Script PHP|commenti Commenti: (0)

In questi giorni mi è capitato di realizzare un piccolo script per verificare se una pagina internet interna o esterna ad un determinato dominio, restituisse un header corretto o non corretto. Ho ritenuto che una tale funzione potesse risultare utile ad ogni Programmatore PHP e quindi ne presento una versione decisamente ridotta.

Quando consultiamo un sito, o meglio quando inoltriamo ad un browser (Internet Explorer, Firefox e affini) la richiesta di una determinata pagina o di un sito, il Server HTTP risponde inoltrandoci il risultato e restituendoci un header con un indicazione chiamata Status che informano il client sull'esito della richiesta.

Prima di tutto elenchiamo quelli che sono gli status più comuni restituiti dai server:

# 200 OK
# 301 Moved Permanently (Spostato in modo permanente)
# 307 Temporary Redirect (Reindirizzamento momentaneo)
# 400 Bad Request 400 (Richiesta non valida)
# 403 Forbidden (Pagina Interdetta)
# 404 Not Found (Pagina non trovata)
# 500 Internal Server Error (Errore interno del server)

Di seguito invece illusto la funzione ridotta, che con le opportune modifiche può risultare utile per verificare indici e collegamenti esterni al proprio sito, monitorare status o redirect 301 e per molti altri usi.

<?php
//Funzione che verifica lo status 200 o 301 di una determinata URL
function esistenza($url){
//Utilizzo la funzione ricevento un array che definisce l'header
$headers = get_headers("$url");
//Nel primo campo dell'array è presente lo status che confronto con espressione regolare
$esiste = preg_match('#^HTTP/.*\s+[(200|301)]+\s#i', $headers[0]);
if($esiste==1)
echo "La URL $url risponde correttamente ($headers[0])";
else
echo "La URL $url non risponde correttamente";
echo "<br/>";
}
$url_uno = 'http://www.danieletabacco.com';
$url_due = 'http://www.linkerrato.com';
esistenza("$url_uno");
esistenza("$url_due");
?>

(Guarda l'esempio)

La funzione che mette a disposizione PHP 5 è get_headers() tale funzionalità non è disponibile nelle versione precedenti in cui sarà necessario creare una funzione ad hoc che magari vi illustrerò in qualche post successivo.

Come possiamo notare la funzione preg_match che valuta l'espressione regolare, considera validi (o esistenti) solo i link 200 e 301, qualsiasi Programmatore può però modificare tale espressione, includendo o escludento i diversi status.

Commenti:
.Nessun commento Presente.


(non visibile)







Captcha
Copia i caratteri che vedi sopra:

Tags: | torna su


linkedIn


Contattami su Skype:
Il mio stato

Archivio Articoli:

Cerchi un Programmatore PHP con esperienza consolidata, già molte aziende a Napoli, Milano, Roma e Ferrara si sono affidate a me. Contattami per una Consulenza Gratuita, per Realizzare Applicazioni Web o Sviluppare Siti Internet e Creare Portali Dinamici.

Risorse utili per PHP:


Partners & Consigliati:

NGMWeb Hosting & Servizi

MioMotore Directory Gratis

ADServer Gestione Banner

MiniSito Ottimizzato NGMWeb.net



Collaborazioni:


antoniomaresca


ngmweb


cocreando
 
Daniele Tabacco - Questo sito e' interamente realizzato da me secondo gli standard del W3C - css valido w3c css valido xhtml