you are in: codestackercodes [RSS] → tag: whois [RSS]

check domain Delicious Email

check domain availability in one php file
http://github.com/leonardofaria/php-check-domain

show/hide lines
   1  <html>
   2  <head>
   3  	<title>whois</title>
   4  </head>
   5  <body>
   6  	<form method="post">
   7  		<label for="domain">Domain:</label>
   8  		<input type="text" id="domain" name="domain" />
   9  		<input type="submit"/>
  10  	</form>
  11  
  12  	<?php
  13  		function get_server($domain){
  14  			$whoisservers = array(
  15  			array("ac","whois.nic.ac"),
  16  			array("ac.cn","whois.cnnic.net.cn"),
  17  			array("ac.jp","whois.nic.ad.jp"),
  18  			array("ac.uk","whois.ja.net"),
  19  			array("ad.jp","whois.nic.ad.jp"),
  20  			array("adm.br","whois.nic.br"),
  21  			array("adv.br","whois.nic.br"),
  22  			array("aero","whois.information.aero"),
  23  			array("ag","whois.nic.ag"),
  24  			array("agr.br","whois.nic.br"),
  25  			array("ah.cn","whois.cnnic.net.cn"),
  26  			array("al","whois.ripe.net"),
  27  			array("am.br","whois.nic.br"),
  28  			array("arq.br","whois.nic.br"),
  29  			array("at","whois.nic.at"),
  30  			array("au","whois.aunic.net"),
  31  			array("art.br","whois.nic.br"),
  32  			array("as","whois.nic.as"),
  33  			array("asn.au","whois.aunic.net"),
  34  			array("ato.br","whois.nic.br"),
  35  			array("be","whois.geektools.com"),
  36  			array("bg","whois.digsys.bg"),
  37  			array("bio.br","whois.nic.br"),
  38  			array("biz","whois.biz"),
  39  			array("bj.cn","whois.cnnic.net.cn"),
  40  			array("bmd.br","whois.nic.br"),
  41  			array("br","whois.registro.br"),
  42  			array("ca","whois.cira.ca"),
  43  			array("cc","whois.nic.cc"),
  44  			array("cd","whois.cd"),
  45  			array("ch","whois.nic.ch"),
  46  			array("cim.br","whois.nic.br"),
  47  			array("ck","whois.ck-nic.org.ck"),
  48  			array("cl","whois.nic.cl"),
  49  			array("cn","whois.cnnic.net.cn"),
  50  			array("cng.br","whois.nic.br"),
  51  			array("cnt.br","whois.nic.br"),
  52  			array("com","whois.internic.net"),
  53  			array("com.au","whois.aunic.net"),
  54  			array("com.br","whois.nic.br"),
  55  			array("com.cn","whois.cnnic.net.cn"),
  56  			array("com.eg","whois.ripe.net"),
  57  			array("com.hk","whois.hknic.net.hk"),
  58  			array("com.mx","whois.nic.mx"),
  59  			array("com.ru","whois.ripn.ru"),
  60  			array("com.tw","whois.twnic.net"),
  61  			array("conf.au","whois.aunic.net"),
  62  			array("co.jp","whois.nic.ad.jp"),
  63  			array("co.uk","whois.nic.uk"),
  64  			array("cq.cn","whois.cnnic.net.cn"),
  65  			array("csiro.au","whois.aunic.net"),
  66  			array("cx","whois.nic.cx"),
  67  			array("cz","whois.nic.cz"),
  68  			array("de","whois.denic.de"),
  69  			array("dk","whois.dk-hostmaster.dk"),
  70  			array("ecn.br","whois.nic.br"),
  71  			array("ee","whois.eenet.ee"),
  72  			array("edu","whois.internic.net"),
  73  			array("edu.au","whois.aunic.net"),
  74  			array("edu.br","whois.nic.br"),
  75  			array("eg","whois.ripe.net"),
  76  			array("es","whois.ripe.net"),
  77  			array("esp.br","whois.nic.br"),
  78  			array("etc.br","whois.nic.br"),
  79  			array("eti.br","whois.nic.br"),
  80  			array("eun.eg","whois.ripe.net"),
  81  			array("emu.id.au","whois.aunic.net"),
  82  			array("eng.br","whois.nic.br"),
  83  			array("far.br","whois.nic.br"),
  84  			array("fi","whois.ripe.net"),
  85  			array("fj","whois.usp.ac.fj"),
  86  			array("fj.cn","whois.cnnic.net.cn"),
  87  			array("fm.br","whois.nic.br"),
  88  			array("fnd.br","whois.nic.br"),
  89  			array("fo","whois.ripe.net"),
  90  			array("fot.br","whois.nic.br"),
  91  			array("fst.br","whois.nic.br"),
  92  			array("fr","whois.nic.fr"),
  93  			array("g12.br","whois.nic.br"),
  94  			array("gd.cn","whois.cnnic.net.cn"),
  95  			array("ge","whois.ripe.net"),
  96  			array("ggf.br","whois.nic.br"),
  97  			array("gl","whois.ripe.net"),
  98  			array("gr","whois.ripe.net"),
  99  			array("gr.jp","whois.nic.ad.jp"),
 100  			array("gs","whois.adamsnames.tc"),
 101  			array("gov","whois.nic.gov"),
 102  			array("gs.cn","whois.cnnic.net.cn"),
 103  			array("gov.au","whois.aunic.net"),
 104  			array("gov.br","whois.nic.br"),
 105  			array("gov.cn","whois.cnnic.net.cn"),
 106  			array("gov.hk","whois.hknic.net.hk"),
 107  			array("gob.mx","whois.nic.mx"),
 108  			array("gs","whois.adamsnames.tc"),
 109  			array("gz.cn","whois.cnnic.net.cn"),
 110  			array("gx.cn","whois.cnnic.net.cn"),
 111  			array("he.cn","whois.cnnic.net.cn"),
 112  			array("ha.cn","whois.cnnic.net.cn"),
 113  			array("hb.cn","whois.cnnic.net.cn"),
 114  			array("hi.cn","whois.cnnic.net.cn"),
 115  			array("hl.cn","whois.cnnic.net.cn"),
 116  			array("hn.cn","whois.cnnic.net.cn"),
 117  			array("hm","whois.registry.hm"),
 118  			array("hk","whois.hknic.net.hk"),
 119  			array("hk.cn","whois.cnnic.net.cn"),
 120  			array("hu","whois.ripe.net"),
 121  			array("id.au","whois.aunic.net"),
 122  			array("ie","whois.domainregistry.ie"),
 123  			array("ind.br","whois.nic.br"),
 124  			array("imb.br","whois.nic.br"),
 125  			array("inf.br","whois.nic.br"),
 126  			array("info","whois.afilias.info"),
 127  			array("info.au","whois.aunic.net"),
 128  			array("it","whois.nic.it"),
 129  			array("idv.tw","whois.twnic.net"),
 130  			array("int","whois.iana.org"),
 131  			array("is","whois.isnic.is"),
 132  			array("il","whois.isoc.org.il"),
 133  			array("jl.cn","whois.cnnic.net.cn"),
 134  			array("jor.br","whois.nic.br"),
 135  			array("jp","whois.nic.ad.jp"),
 136  			array("js.cn","whois.cnnic.net.cn"),
 137  			array("jx.cn","whois.cnnic.net.cn"),
 138  			array("kr","whois.krnic.net"),
 139  			array("la","whois.nic.la"),
 140  			array("lel.br","whois.nic.br"),
 141  			array("li","whois.nic.ch"),
 142  			array("lk","whois.nic.lk"),
 143  			array("ln.cn","whois.cnnic.net.cn"),
 144  			array("lt","ns.litnet.lt"),
 145  			array("lu","whois.dns.lu"),
 146  			array("lv","whois.ripe.net"),
 147  			array("ltd.uk","whois.nic.uk"),
 148  			array("mat.br","whois.nic.br"),
 149  			array("mc","whois.ripe.net"),
 150  			array("med.br","whois.nic.br"),
 151  			array("mil","whois.nic.mil"),
 152  			array("mil.br","whois.nic.br"),
 153  			array("mn","whois.nic.mn"),
 154  			array("mo.cn","whois.cnnic.net.cn"),
 155  			array("ms","whois.adamsnames.tc"),
 156  			array("mus.br","whois.nic.br"),
 157  			array("mx","whois.nic.mx"),
 158  			array("name","whois.nic.name"),
 159  			array("ne.jp","whois.nic.ad.jp"),
 160  			array("net","whois.internic.net"),
 161  			array("net.au","whois.aunic.net"),
 162  			array("net.br","whois.nic.br"),
 163  			array("net.cn","whois.cnnic.net.cn"),
 164  			array("net.eg","whois.ripe.net"),
 165  			array("net.hk","whois.hknic.net.hk"),
 166  			array("net.lu","whois.dns.lu"),
 167  			array("net.mx","whois.nic.mx"),
 168  			array("net.uk","whois.nic.uk"),
 169  			array("net.ru","whois.ripn.ru"),
 170  			array("net.tw","whois.twnic.net"),
 171  			array("nl","whois.domain-registry.nl"),
 172  			array("nm.cn","whois.cnnic.net.cn"),
 173  			array("no","whois.norid.no"),
 174  			array("nom.br","whois.nic.br"),
 175  			array("not.br","whois.nic.br"),
 176  			array("ntr.br","whois.nic.br"),
 177  			array("nx.cn","whois.cnnic.net.cn"),
 178  			array("nz","whois.domainz.net.nz"),
 179  			array("plc.uk","whois.nic.uk"),
 180  			array("odo.br","whois.nic.br"),
 181  			array("oop.br","whois.nic.br"),
 182  			array("or.jp","whois.nic.ad.jp"),
 183  			array("org","whois.internic.net"),
 184  			array("org.au","whois.aunic.net"),
 185  			array("org.br","whois.nic.br"),
 186  			array("org.cn","whois.cnnic.net.cn"),
 187  			array("org.hk","whois.hknic.net.hk"),
 188  			array("org.lu","whois.dns.lu"),
 189  			array("org.ru","whois.ripn.ru"),
 190  			array("org.tw","whois.twnic.net"),
 191  			array("org.uk","whois.nic.uk"),
 192  			array("pl","nazgul.nask.waw.pl"),
 193  			array("pp.ru","whois.ripn.ru"),
 194  			array("ppg.br","whois.nic.br"),
 195  			array("pro.br","whois.nic.br"),
 196  			array("psi.br","whois.nic.br"),
 197  			array("psc.br","whois.nic.br"),
 198  			array("pt","whois.ripe.net"),
 199  			array("qh.cn","whois.cnnic.net.cn"),
 200  			array("qsl.br","whois.nic.br"),
 201  			array("rec.br","whois.nic.br"),
 202  			array("ro","whois.rotld.ro"),
 203  			array("ru","whois.ripn.ru"),
 204  			array("sc.cn","whois.cnnic.net.cn"),
 205  			array("sd.cn","whois.cnnic.net.cn"),
 206  			array("se","whois.nic-se.se"),
 207  			array("sg","whois.nic.net.sg"),
 208  			array("sh","whois.nic.sh"),
 209  			array("sh.cn","whois.cnnic.net.cn"),
 210  			array("si","whois.arnes.si"),
 211  			array("sk","whois.ripe.net"),
 212  			array("slg.br","whois.nic.br"),
 213  			array("sm","whois.ripe.net"),
 214  			array("sn.cn","whois.cnnic.net.cn"),
 215  			array("srv.br","whois.nic.br"),
 216  			array("st","whois.nic.st"),
 217  			array("sx.cn","whois.cnnic.net.cn"),
 218  			array("tc","whois.adamsnames.tc"),
 219  			array("th","whois.nic.uk"),
 220  			array("tj.cn","whois.cnnic.net.cn"),
 221  			array("tmp.br","whois.nic.br"),
 222  			array("to","whois.tonic.to"),
 223  			array("tr","whois.ripe.net"),
 224  			array("trd.br","whois.nic.br"),
 225  			array("tur.br","whois.nic.br"),
 226  			array("tv","whois.tv"),
 227  			array("tv.br","whois.nic.br"),
 228  			array("tw","whois.twnic.net"),
 229  			array("tw.cn","whois.cnnic.net.cn"),
 230  			array("uk","whois.thnic.net"),
 231  			array("va","whois.ripe.net"),
 232  			array("vet.br","whois.nic.br"),
 233  			array("vg","whois.adamsnames.tc"),
 234  			array("wattle.id.au","whois.aunic.net"),
 235  			array("ws","whois.worldsite.ws"),
 236  			array("xj.cn","whois.cnnic.net.cn"),
 237  			array("xz.cn","whois.cnnic.net.cn"),
 238  			array("yn.cn","whois.cnnic.net.cn"),
 239  			array("zlg.br","whois.nic.br"),
 240  			array("zj.cn","whois.cnnic.net.cn"),
 241  			array("nu","whois.nic.nu"));
 242  
 243  			for ($x=0;$x<count($whoisservers);$x++){
 244  				$artld = $whoisservers[$x][0];
 245  				$tldlen = intval(0 - strlen($artld));
 246  				if (substr($domain, $tldlen) == $artld) { $whosrv = $whoisservers[$x][1]; }
 247  			}
 248  			return $whosrv;
 249  		}
 250  		
 251  		function get_content($dom){
 252  			$lusrv = get_server($dom);
 253  			if (!$lusrv) return "";
 254  
 255  			$fp = fsockopen($lusrv,43);
 256  			fputs($fp, "$dom\r\n");
 257  			$string="";
 258  			while(!feof($fp)){
 259  				$string.= fgets($fp,128);
 260  			}
 261  			fclose($fp);
 262  			return $string;
 263  		}
 264  		
 265  		function show_whois($dom){
 266  			$string = get_content($dom);
 267  
 268  			$reg = "/Whois Server: (.*?)\n/i";
 269  			preg_match_all($reg, $string, $matches);
 270  			$secondtry = $matches[1][0];
 271  
 272  			if ($secondtry){
 273  				$fp = fsockopen($secondtry,43);
 274  				fputs($fp, "$dom\r\n");
 275  				$string="";
 276  				while(!feof($fp)){
 277  					$string.=fgets($fp,128);
 278  				}
 279  				fclose($fp);
 280  			}
 281  			return $string;
 282  		}
 283  		
 284  		function check_availability($dom){
 285  			$string = get_content($dom);
 286  
 287  			if (strpos($string, "No match for") > 0) {
 288  				return true;
 289  			} else {
 290  				return false;
 291  			}
 292  		}
 293  	
 294  		if (isset($_POST['domain'])){ 
 295  			if (check_availability($_POST['domain']) == true) { 
 296  				echo $_POST['domain'] . " avaliable!";
 297  			} else {
 298  				echo $_POST['domain'] . " not avaliable!";
 299  			}
 300  			echo "<pre>".show_whois($_POST['domain'])."</pre>"; 
 301  		}
 302  	?>
 303  </body>
 304  </html>
created by leozera — 30 April 2011 — get a short url — tags: domain php whois embed