基本上每一个域名都有一个对应的WHOIS服务器,由WHOIS服务器来提供该域名的一些必须信息,有时候我们需要获取这些信息,这时就要查询这些服务器。
至于得到WHOIS服务器地址后下一步该怎么做,其实就是通过Socket编程连接远程服务器43端口来获取信息。在PHP中还可以利用PEAR简化写法:
1 2 3 4 5 6 7 8 9 10 | <?php require_once "Net/Whois.php"; $server = "whois.denic.de"; $query = "phpcrawler.de"; // get information about // this domain $whois = new Net_Whois; $data = $whois->query($query, $server); echo $data; ?> |
主要来自于iana.org,为了便于查阅,先以PHP数组的形式记录在这儿:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | <?php $servers = array( 'ac' => 'whois.nic.ac', 'ae' => 'whois.nic.ae', 'af' => 'whois.nic.af', 'ag' => 'whois.nic.ag', 'al' => 'whois.ripe.net', 'am' => 'whois.amnic.net', 'as' => 'whois.nic.as', 'at' => 'whois.nic.at', 'au' => 'whois.aunic.net', 'az' => 'whois.ripe.net', 'arin' => 'whois.arin.net', 'asia' => 'whois.nic.asia', 'apnic' => 'whois.apnic.net', 'afrinic' => 'whois.afrinic.net', 'ba' => 'whois.ripe.net', 'be' => 'whois.dns.be', 'bg' => 'whois.register.bg', 'bi' => 'whois.nic.bi', 'biz' => 'whois.neulevel.biz', 'bj' => 'www.nic.bj', 'br' => 'whois.nic.br', 'bt' => 'whois.netnames.net', 'by' => 'whois.ripe.net', 'bz' => 'whois.belizenic.bz', 'ca' => 'whois.cira.ca', 'cc' => 'whois.nic.cc', 'cd' => 'whois.nic.cd', 'ch' => 'whois.nic.ch', 'ck' => 'whois.nic.ck', 'cl' => 'nic.cl', 'cn' => 'whois.cnnic.net.cn', 'net.cn' => 'whois.cnnic.net.cn', 'com.cn' => 'whois.cnnic.net.cn', 'gov.cn' => 'whois.cnnic.net.cn', 'edu.cn' => 'whois.edu.cn', 'co.nl' => 'whois.co.nl', 'com' => 'whois.verisign-grs.com', //'com' => 'com.whois-servers.net', //'com' => 'whois.crsnic.net', 'coop' => 'whois.nic.coop', 'cx' => 'whois.nic.cx', 'cy' => 'whois.ripe.net', 'cz' => 'whois.nic.cz', 'de' => 'whois.denic.de', 'dk' => 'whois.dk-hostmaster.dk', 'dm' => 'whois.nic.cx', 'dz' => 'whois.ripe.net', 'edu' => 'whois.educause.net', 'ee' => 'whois.eenet.ee', 'eg' => 'whois.ripe.net', 'es' => 'whois.ripe.net', 'eu' => 'whois.eu', 'fi' => 'whois.ficora.fi', 'fo' => 'whois.ripe.net', 'fr' => 'whois.nic.fr', 'gb' => 'whois.ripe.net', 'ge' => 'whois.ripe.net', 'gl' => 'whois.ripe.net', 'gm' => 'whois.ripe.net', 'gov' => 'whois.nic.gov', 'gr' => 'whois.ripe.net', 'gs' => 'whois.adamsnames.tc', 'hk' => 'whois.hknic.net.hk', 'hm' => 'whois.registry.hm', 'hn' => 'whois2.afilias-grs.net', 'hr' => 'whois.ripe.net', 'hu' => 'whois.ripe.net', 'ie' => 'whois.domainregistry.ie', 'il' => 'whois.isoc.org.il', 'in' => 'whois.inregistry.net', 'info' => 'whois.afilias.info', 'int' => 'whois.isi.edu', 'iq' => 'vrx.net', 'ir' => 'whois.nic.ir', 'is' => 'whois.isnic.is', 'it' => 'whois.nic.it', 'je' => 'whois.je', 'jobs' => 'jobswhois.verisign-grs.com', 'jp' => 'whois.jprs.jp', 'kg' => 'whois.domain.kg', 'kr' => 'whois.nic.or.kr', 'la' => 'whois2.afilias-grs.net', 'li' => 'whois.nic.li', 'lt' => 'whois.domreg.lt', 'lu' => 'whois.restena.lu', 'lv' => 'whois.nic.lv', 'ly' => 'whois.lydomains.com', 'lacnic' => 'whois.lacnic.net', 'ma' => 'whois.iam.net.ma', 'mc' => 'whois.ripe.net', 'md' => 'whois.nic.md', 'me' => 'whois.nic.me', 'mil' => 'whois.nic.mil', 'mk' => 'whois.ripe.net', 'mobi' => 'whois.dotmobiregistry.net', 'ms' => 'whois.nic.ms', 'mt' => 'whois.ripe.net', 'mu' => 'whois.nic.mu', 'mx' => 'whois.nic.mx', 'my' => 'whois.mynic.net.my', 'museum' => 'whois.museum', 'name' => 'whois.nic.name', 'net' => 'whois.verisign-grs.com', 'nf' => 'whois.nic.cx', 'nl' => 'whois.domain-registry.nl', 'no' => 'whois.norid.no', 'nu' => 'whois.nic.nu', 'nz' => 'whois.srs.net.nz', 'org' => 'whois.pir.org', 'pl' => 'whois.dns.pl', 'pr' => 'whois.nic.pr', 'pro' => 'whois.registrypro.pro', 'pt' => 'whois.dns.pt', 'ro' => 'whois.rotld.ro', 'ru' => 'whois.ripn.ru', 'ripe' => 'whois.ripe.net', 'sa' => 'saudinic.net.sa', 'sb' => 'whois.nic.net.sb', 'sc' => 'whois2.afilias-grs.net', 'se' => 'whois.nic-se.se', 'sg' => 'whois.nic.net.sg', 'sh' => 'whois.nic.sh', 'si' => 'whois.arnes.si', 'sk' => 'whois.sk-nic.sk', 'sm' => 'whois.ripe.net', 'st' => 'whois.nic.st', 'su' => 'whois.ripn.net', 'tc' => 'whois.adamsnames.tc', 'tel' => 'whois.nic.tel', 'tf' => 'whois.nic.tf', 'th' => 'whois.thnic.net', 'tj' => 'whois.nic.tj', 'tk' => 'whois.nic.tk', 'tl' => 'whois.domains.tl', 'tm' => 'whois.nic.tm', 'tn' => 'whois.ripe.net', 'to' => 'whois.tonic.to', 'tp' => 'whois.domains.tl', 'tr' => 'whois.nic.tr', 'travel' => 'whois.nic.travel', 'tw' => 'whois.apnic.net', 'tv' => 'whois.nic.tv', 'ua' => 'whois.ripe.net', 'uk' => 'whois.nic.uk', 'gov.uk' => 'whois.ja.net', 'us' => 'whois.nic.us', 'uy' => 'nic.uy', 'uz' => 'whois.cctld.uz', 'va' => 'whois.ripe.net', 'vc' => 'whois2.afilias-grs.net', 've' => 'whois.nic.ve', 'vg' => 'whois.adamsnames.tc', 'ws' => 'www.nic.ws', 'yu' => 'whois.ripe.net', 'net.au' => 'whois.aunic.net', 'ae.com' => 'whois.centralnic.net', 'br.com' => 'whois.centralnic.net', 'cn.com' => 'whois.centralnic.net', 'de.com' => 'whois.centralnic.net', 'eu.com' => 'whois.centralnic.net', 'hu.com' => 'whois.centralnic.net', 'jpn.com'=> 'whois.centralnic.net', 'kr.com' => 'whois.centralnic.net', 'gb.com' => 'whois.centralnic.net', 'no.com' => 'whois.centralnic.net', 'qc.com' => 'whois.centralnic.net', 'ru.com' => 'whois.centralnic.net', 'sa.com' => 'whois.centralnic.net', 'se.com' => 'whois.centralnic.net', 'za.com' => 'whois.centralnic.net', 'uk.com' => 'whois.centralnic.net', 'us.com' => 'whois.centralnic.net', 'uy.com' => 'whois.centralnic.net', 'gb.net' => 'whois.centralnic.net', 'se.net' => 'whois.centralnic.net', 'uk.net' => 'whois.centralnic.net', 'za.net' => 'whois.za.net', 'za.org' => 'whois.za.net' ); |
对于查询来说,只要传入顶级域,那么就可以返回其WHOIS服务器,对于类似于apple.com.cn这样的地区顶级域(ccTLD),应当先查询com.cn,如果找不到WHOIS Server,再搜索cn,直到找到有效服务器或者返回错误
不想用PEAR?要获得更强大的查询能力?可以看看功能强大的phpWhois。
Comments are closed.