Home >Backend Development >PHP Tutorial >A PHP Whois domain name checking function code_PHP tutorial
A Whois check code used before when doing PHP host domain name program to determine whether the queried domain name is registered. The function covers most of the domain name suffixes and will be connected to different ones according to the suffix. The query server used to work. Due to time constraints, I have not tested whether those query URLs can still be used now. If not, you need to find the information yourself to see what the current URL is.
01
02function whois_query($domain) {
03 $domain = strtolower(trim($domain));
04 $domain = preg_replace('/^http:///i','',$domain);
05 $domain = preg_replace('/^www./i','',$domain);
06 $domain = explode('/',$domain);
07 $domain = trim($domain[0]);
08 // Cut domain name
09 $_domain = explode('.',$domain);
10 $lst = count($_domain)-1;
11 $ext = $_domain[$lst];
12 //Define the query server address that different domain name suffixes need to connect to
13 $servers = array(
14 "biz" => "whois.neulevel.biz",
15 "com" => "whois.internic.net",
16 "us" => "whois.nic.us",
17 "coop" => "whois.nic.coop",
18 "info" => "whois.nic.info",
19 "name" => "whois.nic.name",
20 "net" => "whois.internic.net",
21 "gov" => "whois.nic.gov",
22 "edu" => "whois.internic.net",
23 "mil" => "rs.internic.net",
24 "int" => "whois.iana.org",
25 "ac" => "whois.nic.ac",
26 "ae" => "whois.uaenic.ae",
27 "at" => "whois.ripe.net",
28 "au" => "whois.aunic.net",
29 "be" => "whois.dns.be",
30 "bg" => "whois.ripe.net",
31 "br" => "whois.registro.br",
32 "bz" => "whois.belizenic.bz",
33 "ca" => "whois.cira.ca",
34 "cc" => "whois.nic.cc",
35 "ch" => "whois.nic.ch",
36 "cl" => "whois.nic.cl",
37 "cn" => "whois.cnnic.net.cn",
38 "cz" => "whois.nic.cz",
39 "de" => "whois.nic.de",
40 "fr" => "whois.nic.fr",
41 "hu" => "whois.nic.hu",
42 "ie" => "whois.domainregistry.ie",
43 "il" => "whois.isoc.org.il",
44 "in" => "whois.ncst.ernet.in",
45 "ir" => "whois.nic.ir",
46 "mc" => "whois.ripe.net",
47 "to" => "whois.tonic.to",
48 "tv" => "whois.tv",
49 "ru" => "whois.ripn.net",
50 "org" => "whois.pir.org",
51 "aero" => "whois.information.aero",
52 "nl" => "whois.domain-registry.nl"
53 );
54 if (!isset($servers[$ext])){
55 die('Error: No matching server found!');
56}
57 $nic_server = $servers[$ext];
58 $output = '';
59 //Connect to domain name server:
60 if ($conn = fsockopen ($nic_server, 43)) {
61 fputs($conn, $domain."rn");
62 while(!feof($conn)) {
63 $output .= fgets($conn,128);
64}
65 fclose($conn);
66}
67 else { die('Error: Cannot connect to: ' . $nic_server . '!'); }
68 return $output;
69}
70?>
After the function is called, the result will be returned directly.