![]() |
|
Verificare l'esistenza di un dominio o di un file remoto
Molti servizi di Hosting mettono a disposizione un servizio di verifica della disponibilità del dominio che si intende acquistare; la maggior parte di questi offrono anche una serie di dati riguardanti il dominio esistente, il ben noto servizio di WhoIs (Chi è?). Per fare questo c'è bisogno di collegarsi ad una sorta di database comune che, il più delle volte, filtra gli accessi e potrebbe non essere felice che venga fatto uso dei propri dati. Con XMLHTTP questo problema non sussiste (o almeno non dovrebbe...) dato che la richiesta HTTP perviene attraverso una stringa di testo, e nessun File System o Firewall dovrebbero intercettarla... ma perchè fare le cose sporche?
<%@LANGUAGE = JScript%>
<%
var url = "http://www.lukeonweb.net";
try
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("GET", url, false);
xmlhttp.Send();
if (xmlhttp.Status != 12007)
{
Response.write("Dominio occupato");
}
}
catch (e)
{
Response.Write("Dominio libero");
}
%>
Lo script è semplice ed abbastanza intuitivo nella sua logica e nella struttura, ma esaminiamo alcune parti salienti. La variabile url definisce il dominio o il file di cui intendiamo stabilire l'esistenza, in questo caso si tratta di una costante, quindi di un qualcosa di statico, ma è molto semplice ed immediato dinamizzare l'applicazione con l'aggiunta di un modulo Html.Utilizzo il costrutto try...catch per gestire l'errore (di cui parleremo tra poco). Istanzio l'oggetto XMLHTTP ed invio la richiesta remota. A questo punto utilizzo la proprietà Status dello stesso XMLHTTP che, se avrà valore diverso da 12007, vorrà dire che ha trovato quello che stavamo cercando in remoto, e posso lanciare il messaggio che attesta che il dominio è occupato. Ma se il dominio o il file specifico non esistesse? Ad XMLHTTP verrebbe inviata una stringa vuota e darebbe errore! Mi creo quindi un'eccezione con la clausola catch in cui specifico che il dominio è libero. L'esempio appena illustrato fa pensare molto da vicino ad un servizio di WhoIs; per testare la veridicità di quanto affermato, si passi alla variabile url il valore var url = "http://www.lukeonweb.net/index.asp";e si modifichino i Response.Write rispettivamente in Il file esiste ed Il file NON esiste. Il file index.asp effettivamente esiste, quindi il messaggio restituito sarà positivo, ma si provi ad impostare la variabile url col valore var url = "http://www.lukeonweb.net/pippo.asp";e... ;-) |
IN EVIDENZA
Una slidegallery con jQuery
Pagamenti online con PayPal e PHP
Breve guida a jQuery
Effetto ombra su testo con Photoshop
Guadagna col tuo sito grazie a TradeD...
Guida XHTML
Riscrivere le URL con Asp
Riavviare IIS
HTTP 500 internal server error
Generare password casuali in Javascri...
Errore 80004005: Cannot update. Datab...
Introduzione ad Ajax ed Asp con Jscri...
Referenze dei Tag Html
Stringhe di connessione via ODBC e Ol...
Referenze dei fogli di stile Css
Le espressioni regolari in Javascript
|
||||
© 2001/2010 lukeonweb.net - A cura di Luca Ruggiero, Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| |||||