Simpele whois
Gemaakt voor een domeinregistratie systeem tijdens mijn stage.
Het is een beetje simpel maar als het goed gebruikt wordt functioneerd
het naar behoefte.
Javascript is icm Prototype.js.
Sommige whois servers hebben een limit voor het aantal requests
per dag, bijvoorbeeld de server voor .nl domeinnamen (SIDN).
Je krijgt dan waarschijnlijk een andere response en dan zal de output
niet betrouwbaar zijn.
html pagina
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function check() {
new Ajax.Updater('status', '/xml/checkdomain.php', {
parameters: {
domeinnaam: $F('domeinnaam')
}
});
}
</script>
<table>
<tr>
<td>Domeinnaam</td>
<td><input type="text" id="domeinnaam" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="text" id="status" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" onclick="check()" value="Check" /></td>
</tr>
</table>
checkdomain.php
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$domain=$_GET['domeinnaam']; //opgegeven domeinnaam bijv. test.nl
$type=explode('.',$domain); //splitst het domeinaam op de punten en geeft array terug, bijv. $type bevat dan [0]=>'test',[1]=>'nl'
$type=$type[1].(($type[2])?".".$type[2]:""); //maakt van $type weer een string en kijkt voor tld's als co.uk, $type is nu nl
$server=array('ac'=>'whois.nic.ac','aero'=>'whois.aero','ag'=>'whois.nic.ag','am'=>'whois.amnic.net','at'=>'whois.nic.at','au'=>'whois.aunic.net','be'=>'whois.dns.be','bg'=>'whois.register.bg','biz'=>'whois.neulevel.biz','bj'=>'whois.nic.bj','br'=>'whois.registro.br','ca'=>'whois.cira.ca','ch'=>'whois.nic.ch','ci'=>'whois.nic.ci','cl'=>'whois.nic.cl','cn'=>'whois.cnnic.net.cn','co.nz'=>'whois.srs.net.nz','co.uk'=>'whois.nic.uk','com'=>'whois.opensrs.net','com.mx'=>'whois.nic.mx','coop'=>'whois.nic.coop','cx'=>'whois.nic.cx','cz'=>'whois.nic.cz','de'=>'whois.denic.de','dk'=>'whois.dk-hostmaster.dk','ee'=>'whois.eenet.ee','edu'=>'whois.educause.net','eu'=>'whois.eu','fi'=>'whois.ficora.fi','fr'=>'whois.nic.fr','gg'=>'whois.channelisles.net','gi'=>'whois2.afilias-grs.net','gs'=>'whois.nic.gs','hk'=>'whois.hkirc.hk','hn'=>'whois2.afilias-grs.net','ie'=>'whois.domainregistry.ie','il'=>'whois.isoc.org.il','in'=>'whois.inregistry.net','info'=>'whois.afilias.info','int'=>'whois.iana.org','io'=>'whois.nic.io','is'=>'whois.isnic.is','it'=>'whois.nic.it','je'=>'whois.channelisles.net','jp'=>'whois.jprs.jp','kz'=>'whois.nic.kz','li'=>'whois.nic.li','lt'=>'whois.domreg.lt','lu'=>'whois.dns.lu','lv'=>'whois.nic.lv','ms'=>'whois.adamsnames.tc','museum'=>'whois.museum','my'=>'whois.mynic.net.my','na'=>'whois.na-nic.com.na','name'=>'whois.nic.name','net'=>'whois.opensrs.net','nl'=>'whois.domain-registry.nl','no'=>'whois.norid.no','nu'=>'whois.nic.nu','or.kr'=>'whois.nic.or.kr','org'=>'whois.publicinterestregistry.net','pm'=>'whois.nic.pm','re'=>'whois.nic.re','ro'=>'whois.rotld.ro','ru'=>'whois.ripn.net','sb'=>'whois.nic.net.sb','sc'=>'whois2.afilias-grs.net','se'=>'whois.iis.se','sg'=>'whois.nic.net.sg','sh'=>'whois.nic.sh','si'=>'whois.arnes.si','st'=>'whois.nic.st','tc'=>'whois.adamsnames.tc','tf'=>'whois.nic.tf','tl'=>'whois.nic.tl','tm'=>'whois.nic.tm','tr'=>'whois.nic.tr','tw'=>'whois.twnic.net.tw','ua'=>'whois.net.ua','us'=>'whois.nic.us','uz'=>'whois.cctld.uz','vc'=>'whois2.afilias-grs.net','ve'=>'whois.nic.ve','vg'=>'whois.adamsnames.tc','wf'=>'whois.nic.wf','ws'=>'whois.worldsite.ws','yt'=>'whois.nic.yt');
$nomatch=array('ac'=>'Available','aero'=>'NOT FOUND','ag'=>'NOT FOUND','am'=>'No match','at'=>'nothing found','au'=>'No Data Found','be'=>'FREE','bg'=>'does not exist','biz'=>'Not found','bj'=>'No records','br'=>'No match','ca'=>'AVAIL','ch'=>'not have an entry','ci'=>'not found','cl'=>'no existe','cn'=>'no matching record','co.nz'=>'Available','co.uk'=>'No match','com'=>'Can\'t get information','com.mx'=>'Nombre del','coop'=>'No domain records','cx'=>'Not Registered','cz'=>'No data found','de'=>'free','dk'=>'No entries found','ee'=>'NOT FOUND','edu'=>'No Match','eu'=>'FREE','fi'=>'not found','fr'=>'No entries found','gg'=>'not found','gi'=>'NOT FOUND','gs'=>'Not Registered','hk'=>'Not Found','hn'=>'NOT FOUND','ie'=>'is not a registered','il'=>'No data was found','in'=>'NOT FOUND','info'=>'NOT FOUND','int'=>'not found','io'=>'Available','is'=>'No entries found','it'=>'AVAILABLE','je'=>'not found','jp'=>'No match','kz'=>'Nothing found','li'=>'not have an entry','lt'=>'available','lu'=>'No such domain','lv'=>'Nothing found','ms'=>'not registered','museum'=>'NOT FOUND','my'=>'does not Exist','na'=>'No records','name'=>'No match','net'=>'Can\'t get information','nl'=>'free','no'=>'no matcheso','nu'=>'NO MATCH','or.kr'=>'not registered','org'=>'NOT FOUND','pm'=>'No entries found','re'=>'No entries found','ro'=>'No entries found','ru'=>'No entries found','sb'=>'No Data Found','sc'=>'NOT FOUND','se'=>'not found','sg'=>'NOMATCH ','sh'=>'Available','si'=>'No entries found','st'=>'No entries found','tc'=>'not registered','tf'=>'No entries found','tl'=>'Not Registered','tm'=>'Available','tr'=>'No match found','tw'=>'No Found','ua'=>'No entries found','us'=>'Not found','uz'=>'not found','vc'=>'NOT FOUND','ve'=>'No match','vg'=>'not registered','wf'=>'No entries found','ws'=>'No match','yt'=>'No entries found');
$ns=fsockopen($server[$type],43); //uit de array $server pakt hij de server waar van de key nl is($type), in dit voorbeeld is dat whois.domain-registry.nl en maakt verbinding
fputs($ns,"$domain\r\n"); //domeinnaam doorgeven, in voorbeeld test.nl
while(!feof($ns))$result.=fgets($ns,128); //response ophalen
fclose($ns); //verbinding sluiten
echo((eregi($nomatch[$type],$result))?"Beschikbaar":"Bezet"); //kijken of in het resultaat de nomatch voorkomt voor nl is dat free en dan beschikbaar of bezet weergeven
?>
Gesponsorde koppelingen
PHP script bestanden
Er zijn 13 reacties op 'Simpele whois'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu