<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[whois php (ricerca domini)]]></title><description><![CDATA[<p dir="auto">Salve a tutti,<br />
ho un problema d porvi.<br />
Stavo provando uno script whois per testare se varie estensioni di domini sono libere o meno.<br />
Ecco il codice:<br />
[PHP]&lt;?php<br />
$whois_server = $_GET['whois_server'];<br />
include("server_list.php");<br />
include("whois_class.php");<br />
$my_whois = new Whois_domain;<br />
$my_whois-&gt;possible_tlds = array_keys($servers); // this is the array from the included server list</p>
<p dir="auto">if (isset($_POST['submit'])) {<br />
$my_whois-&gt;tld = $_POST['tld'];<br />
$my_whois-&gt;domain = $_POST['domain'];<br />
$my_whois-&gt;free_string = $servers[$_POST['tld'&rsqb;&rsqb;['free'];<br />
$my_whois-&gt;whois_server = $servers[$_POST['tld'&rsqb;&rsqb;['address'];<br />
$my_whois-&gt;whois_param = $servers[$_POST['tld'&rsqb;&rsqb;['param'];<br />
if ($my_whois-&gt;process()) {</p>
<p dir="auto">}<br />
}<br />
?&gt;<br />
&lt;?php echo ($my_whois-&gt;msg != "") ? $my_whois-&gt;msg : ""; ?&gt;[/PHP]</p>
<p dir="auto">con la classe associata (whois_class.php):<br />
[PHP]&lt;?php<br />
class Whois_domain {</p>
<p dir="auto">var $possible_tlds;<br />
var $whois_server;<br />
var $free_string;<br />
var $whois_param;<br />
var $domain;<br />
var $tld;<br />
var $compl_domain;<br />
var $full_info;<br />
var $msg;<br />
var $info;<br />
var $os_system = "linux"; // switch between "linux" and "win"</p>
<p dir="auto">function Whois_domain() {<br />
$this-&gt;info = "";<br />
$this-&gt;msg = "";<br />
}<br />
function process() {<br />
if ($this-&gt;create_domain()) {<br />
if ($this-&gt;full_info == "yes") {<br />
$this-&gt;get_domain_info();<br />
} else {<br />
if ($this-&gt;check_only() == 1) {<br />
$this-&gt;msg = "&lt;center&gt;&lt;font face="Verdana" size="2" color="#000000"&gt;Il dominio: &lt;b&gt;".$this-&gt;compl_domain."&lt;/b&gt; è libero per procedere alla registrazione: &lt;a href="ordini.php?dominio=".$this-&gt;compl_domain.""&gt;&lt;strong&gt;clicca qui&lt;/strong&gt;&lt;/a&gt;";<br />
return true;<br />
} elseif ($this-&gt;check_only() == 0) {<br />
$this-&gt;msg = "&lt;center&gt;SPIACENTE - Il dominio: &lt;b&gt;".$this-&gt;compl_domain."&lt;/b&gt; è già stato registrato&lt;br&gt;&lt;br&gt;&lt;strong&gt;cerca un altro dominio&lt;/strong&gt;&lt;/font&gt;&lt;/center&gt;";<br />
return false;<br />
} else {<br />
$this-&gt;msg = "Riprova";<br />
}<br />
}<br />
} else {<br />
$this-&gt;msg = "&lt;center&gt;Solo lettere, numeri e il carattere - sono utilizzabili!&lt;/center&gt;";<br />
}[/PHP]<br />
ed il file server_list.php:<br />
[PHP]&lt;?php<br />
$servers['it']['address'] = "<a href="http://whois.nic.it" rel="nofollow ugc">whois.nic.it</a>";<br />
$servers['it']['free'] = "No entries found";<br />
$servers['it']['param'] = "";<br />
$servers['com']['address'] = "<a href="http://whois.crsnic.net" rel="nofollow ugc">whois.crsnic.net</a>";<br />
$servers['com']['free'] = "No match for";<br />
$servers['com']['param'] = "";<br />
$servers['net']['address'] = "<a href="http://whois.crsnic.net" rel="nofollow ugc">whois.crsnic.net</a>";<br />
$servers['net']['free'] = "No match for";<br />
$servers['net']['param'] = "";<br />
$servers['org']['address'] = "<a href="http://whois.pir.org" rel="nofollow ugc">whois.pir.org</a>";<br />
$servers['org']['free'] = "NOT FOUND";<br />
$servers['org']['param'] = "";<br />
$servers['eu']['address'] = "<a href="http://Whois.eu" rel="nofollow ugc">Whois.eu</a>";<br />
$servers['eu']['free'] = "FREE";<br />
$servers['eu']['param'] = "";<br />
$servers['biz']['address'] = "<a href="http://whois.nic.biz" rel="nofollow ugc">whois.nic.biz</a>";<br />
$servers['biz']['free'] = "Not found";<br />
$servers['biz']['param'] = "";<br />
$servers['info']['address'] = "<a href="http://whois.afilias.net" rel="nofollow ugc">whois.afilias.net</a>";<br />
$servers['info']['free'] = "NOT FOUND";<br />
$servers['info']['param'] = "";<br />
$servers['gs']['address'] = "<a href="http://whois.adamsnames.tc" rel="nofollow ugc">whois.adamsnames.tc</a>";<br />
$servers['gs']['free'] = "not registered";<br />
$servers['gs']['param'] = "";<br />
?&gt;<br />
[/PHP]<br />
Funziona tutto correttamente tranne che la ricerca dei domini .IT che indica sempre occupati (anche se non lo sono).<br />
Ho provato a contrallare il server whois, ma mi sembra corretto: <a href="http://whois.nic.it" rel="nofollow ugc">whois.nic.it</a><br />
Attendo gentilmente una vostra risposta.<br />
Grazie e buona giornata a tutti <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /></p>
]]></description><link>https://connect.gt/topic/54958/whois-php-ricerca-domini</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 07:52:57 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/54958.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Nov 2007 17:31:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to whois php (ricerca domini) on Mon, 26 Nov 2007 00:26:32 GMT]]></title><description><![CDATA[<p dir="auto">Perfetto Ceccus, ora sembra tutto apposto.</p>
<p dir="auto">Grazie mille, davvero efficiente e professionale <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /></p>
]]></description><link>https://connect.gt/post/643285</link><guid isPermaLink="true">https://connect.gt/post/643285</guid><dc:creator><![CDATA[helpinweb]]></dc:creator><pubDate>Mon, 26 Nov 2007 00:26:32 GMT</pubDate></item><item><title><![CDATA[Reply to whois php (ricerca domini) on Sun, 25 Nov 2007 21:07:06 GMT]]></title><description><![CDATA[<p dir="auto">prova a cambiare:</p>
<p dir="auto"><em><strong>$servers['it']['free'] = "No entries found";</strong></em></p>
<p dir="auto">in</p>
<p dir="auto"><em><strong>$servers['it']['free'] = "AVAILABLE";</strong></em></p>
]]></description><link>https://connect.gt/post/643259</link><guid isPermaLink="true">https://connect.gt/post/643259</guid><dc:creator><![CDATA[ceccus]]></dc:creator><pubDate>Sun, 25 Nov 2007 21:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to whois php (ricerca domini) on Sun, 25 Nov 2007 20:28:58 GMT]]></title><description><![CDATA[<p dir="auto">Grazie intanto per la risposta <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /><br />
Ho provato con <a href="http://das.nic.it" rel="nofollow ugc">das.nic.it</a> ma non va comunque.</p>
<p dir="auto">Ti allego l'intera classe, così ci capiamo bene:<br />
[PHP]&lt;?php<br />
class Whois_domain {</p>
<p dir="auto">var $possible_tlds;<br />
var $whois_server;<br />
var $free_string;<br />
var $whois_param;<br />
var $domain;<br />
var $tld;<br />
var $compl_domain;<br />
var $full_info;<br />
var $msg;<br />
var $info;<br />
var $os_system = "linux"; // switch between "linux" and "win"</p>
<p dir="auto">function Whois_domain() {<br />
$this-&gt;info = "";<br />
$this-&gt;msg = "";<br />
}<br />
function process() {<br />
if ($this-&gt;create_domain()) {<br />
if ($this-&gt;full_info == "yes") {<br />
$this-&gt;get_domain_info();<br />
} else {<br />
if ($this-&gt;check_only() == 1) {<br />
$this-&gt;msg = "&lt;center&gt;&lt;font face="Verdana" size="2" color="#000000"&gt;Il dominio: &lt;b&gt;".$this-&gt;compl_domain."&lt;/b&gt; è libero per procedere alla registrazione: &lt;a href="ordini.php?dominio=".$this-&gt;compl_domain.""&gt;&lt;strong&gt;clicca qui&lt;/strong&gt;&lt;/a&gt;";<br />
return true;<br />
} elseif ($this-&gt;check_only() == 0) {<br />
$this-&gt;msg = "&lt;center&gt;SPIACENTE - Il dominio: &lt;b&gt;".$this-&gt;compl_domain."&lt;/b&gt; è già stato registrato&lt;br&gt;&lt;br&gt;&lt;strong&gt;cerca un altro dominio&lt;/strong&gt;&lt;/font&gt;&lt;/center&gt;";<br />
return false;<br />
} else {<br />
$this-&gt;msg = "Riprova";<br />
}<br />
}<br />
} else {<br />
$this-&gt;msg = "&lt;center&gt;Solo lettere, numeri e il carattere - sono utilizzabili!&lt;/center&gt;";<br />
}<br />
}<br />
function check_entry() {<br />
if (preg_match("/^([A-Za-z0-9]+(-?[A-za-z0-9]*)){2,63}$/", $this-&gt;domain)) {<br />
return true;<br />
} else {<br />
return false;<br />
}<br />
}<br />
function create_tld_select() {<br />
$menu = "&lt;select name="tld" style="margin-left:0;"&gt;\n";<br />
foreach ($this-&gt;possible_tlds as $val) {<br />
$menu .= "  &lt;option value="".$val.""";<br />
$menu .= (isset($_POST['tld']) &amp;&amp; $_POST['tld'] == $val) ? " selected&gt;" : "&gt;";<br />
$menu .= $val."\n";<br />
}<br />
$menu .= "&lt;/select&gt;\n";<br />
return $menu;<br />
}<br />
function create_domain() {<br />
if ($this-&gt;check_entry()) {<br />
$this-&gt;domain = strtolower($this-&gt;domain);<br />
$this-&gt;compl_domain = $this-&gt;domain.".".$this-&gt;tld;<br />
return true;<br />
} else {<br />
return false;<br />
}<br />
}<br />
function check_only() {<br />
$data = $this-&gt;get_whois_data();<br />
if (is_array($data)) {<br />
$found = 0;<br />
foreach ($data as $val) {<br />
if (eregi($this-&gt;free_string, $val)) {<br />
$found = 1;<br />
}<br />
}<br />
return $found;<br />
} else {<br />
$this-&gt;msg = "Errore, riprova.";<br />
}<br />
}<br />
function get_domain_info() {<br />
if ($this-&gt;create_domain()) {<br />
$data = ($this-&gt;tld == "nl") ? $this-&gt;get_whois_data(true) : $this-&gt;get_whois_data();<br />
if (is_array($data)) {<br />
foreach ($data as $val) {<br />
if (eregi($this-&gt;free_string, $val)) {<br />
$this-&gt;msg = "The domain name: &lt;b&gt;".$this-&gt;compl_domain."&lt;/b&gt; is free.";<br />
$this-&gt;info = "";<br />
break;<br />
}<br />
$this-&gt;info .= $val;<br />
}<br />
} else {<br />
$this-&gt;msg = "Errore, riprova.";<br />
}<br />
} else {<br />
$this-&gt;msg = "Solo lettere, numeri e il carattere - sono utilizzabili!";<br />
}<br />
}<br />
function get_whois_data($empty_param = false) {<br />
// the parameter is new since version 1.20 and is used for .nl (dutch) domains only<br />
if ($empty_param) {<br />
$this-&gt;whois_param = "";<br />
}<br />
if ($this-&gt;tld == "de") $this-&gt;os_system = "win"; // this tld must be queried with fsock otherwise it will not work<br />
if ($this-&gt;os_system == "win") {<br />
$connection = @fsockopen($this-&gt;whois_server, 43);<br />
if (!$connection) {<br />
unset($connection);<br />
$this-&gt;msg = "Problemi nella connessione al server!";<br />
return;<br />
} else {<br />
sleep(2);<br />
fputs($connection, $this-&gt;whois_param.$this-&gt;compl_domain."\r\n");<br />
while (!feof($connection)) {<br />
$buffer[] = fgets($connection, 4096);<br />
}<br />
fclose($connection);<br />
}<br />
} else {<br />
$string = "whois -h ".$this-&gt;whois_server." "".$this-&gt;whois_param.$this-&gt;compl_domain.""";<br />
exec($string, $buffer);<br />
}<br />
if (isset($buffer)) {<br />
//print_r($buffer);<br />
return $buffer;<br />
} else {<br />
$this-&gt;msg = "Problemi nella connessione al server!";<br />
}<br />
}<br />
}<br />
?&gt;[/PHP]</p>
<p dir="auto">Grazie ancora <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /><br />
Saluti.</p>
]]></description><link>https://connect.gt/post/643284</link><guid isPermaLink="true">https://connect.gt/post/643284</guid><dc:creator><![CDATA[helpinweb]]></dc:creator><pubDate>Sun, 25 Nov 2007 20:28:58 GMT</pubDate></item><item><title><![CDATA[Reply to whois php (ricerca domini) on Sun, 25 Nov 2007 18:41:06 GMT]]></title><description><![CDATA[<p dir="auto">Ciao <em><strong>Helpinweb</strong></em>,<br />
purtroppo in quanto hai postato non vedo la definizione completa delle classi: ad esempio chi sono <em><strong>create_domain()</strong></em> e <em><strong>check_only()</strong></em>? Così è difficile capire dov'è il problema. Comunque per il NIC ti conviene utilizzare il server <em><strong><a href="http://das.nic.it" rel="nofollow ugc">das.nic.it</a></strong></em> sulla porta <em><strong>43</strong></em>, che so per certo funzionare bene... <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /></p>
<p dir="auto">Facci sapere se e come risolvi!<br />
<img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/54a3bffb-5e4a-4eb8-81dc-99b2072e5d05-175.gif?v=gca7n9pp8gc" class="not-responsive emoji emoji-customizations emoji--ciauz" title=":ciauz:" alt=":ciauz:" /></p>
]]></description><link>https://connect.gt/post/643258</link><guid isPermaLink="true">https://connect.gt/post/643258</guid><dc:creator><![CDATA[ceccus]]></dc:creator><pubDate>Sun, 25 Nov 2007 18:41:06 GMT</pubDate></item></channel></rss>