实例介绍
【实例简介】
【实例截图】
【核心代码】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DomainTools
{
public class WhoisServerResolver
{
//;WHOIS Servers List
//;Maintained by Nir Sofer
//;This servers list if freely available for any use and without any restriction.
//;For more information: http://www.nirsoft.net/whois_servers_list.html
//;Last updated on 09/03/2014
private static Dictionary<string, string> WhoisServerCollection = new Dictionary<string, string>()
{
{"ac", "whois.nic.ac"},
{"ae", "whois.aeda.net.ae"},
{"aero", "whois.aero"},
{"af", "whois.nic.af"},
{"ag", "whois.nic.ag"},
{"al", "whois.ripe.net"},
{"am", "whois.amnic.net"},
{"as", "whois.nic.as"},
{"asia", "whois.nic.asia"},
{"at", "whois.nic.at"},
{"au", "whois.aunic.net"},
{"ax", "whois.ax"},
{"az", "whois.ripe.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"},
{"br.com", "whois.centralnic.com"},
{"bt", "whois.netnames.net"},
{"by", "whois.cctld.by"},
{"bz", "whois.belizenic.bz"},
{"ca", "whois.cira.ca"},
{"cat", "whois.cat"},
{"cc", "whois.nic.cc"},
{"cd", "whois.nic.cd"},
{"ch", "whois.nic.ch"},
{"ck", "whois.nic.ck"},
{"cl", "whois.nic.cl"},
{"cn", "whois.cnnic.net.cn"},
{"cn.com", "whois.centralnic.com"},
{"co", "whois.nic.co"},
{"co.nl", "whois.co.nl"},
{"com", "whois.verisign-grs.com"},
{"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.nic.dz"},
{"edu", "whois.educause.net"},
{"ee", "whois.tld.ee"},
{"eg", "whois.ripe.net"},
{"es", "whois.nic.es"},
{"eu", "whois.eu"},
{"eu.com", "whois.centralnic.com"},
{"fi", "whois.ficora.fi"},
{"fo", "whois.nic.fo"},
{"fr", "whois.nic.fr"},
{"gb", "whois.ripe.net"},
{"gb.com", "whois.centralnic.com"},
{"gb.net", "whois.centralnic.com"},
{"qc.com", "whois.centralnic.com"},
{"ge", "whois.ripe.net"},
{"gl", "whois.nic.gl"},
{"gm", "whois.ripe.net"},
{"gov", "whois.nic.gov"},
{"gr", "whois.ripe.net"},
{"gs", "whois.nic.gs"},
{"hk", "whois.hknic.net.hk"},
{"hm", "whois.registry.hm"},
{"hn", "whois2.afilias-grs.net"},
{"hr", "whois.dns.hr"},
{"hu", "whois.nic.hu"},
{"hu.com", "whois.centralnic.com"},
{"id", "whois.pandi.or.id"},
{"ie", "whois.domainregistry.ie"},
{"il", "whois.isoc.org.il"},
{"in", "whois.inregistry.net"},
{"info", "whois.afilias.info"},
{"int", "whois.isi.edu"},
{"io", "whois.nic.io"},
{"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"},
{"ke", "whois.kenic.or.ke"},
{"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"},
{"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"},
{"name", "whois.nic.name"},
{"net", "whois.verisign-grs.com"},
{"nf", "whois.nic.cx"},
{"ng", "whois.nic.net.ng"},
{"nl", "whois.domain-registry.nl"},
{"no", "whois.norid.no"},
{"no.com", "whois.centralnic.com"},
{"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"},
{"pw", "whois.nic.pw"},
{"ro", "whois.rotld.ro"},
{"ru", "whois.tcinet.ru"},
{"sa", "saudinic.net.sa"},
{"sa.com", "whois.centralnic.com"},
{"sb", "whois.nic.net.sb"},
{"sc", "whois2.afilias-grs.net"},
{"se", "whois.nic-se.se"},
{"se.com", "whois.centralnic.com"},
{"se.net", "whois.centralnic.com"},
{"sg", "whois.nic.net.sg"},
{"sh", "whois.nic.sh"},
{"si", "whois.arnes.si"},
{"sk", "whois.sk-nic.sk"},
{"sm", "whois.nic.sm"},
{"st", "whois.nic.st"},
{"so", "whois.nic.so"},
{"su", "whois.tcinet.ru"},
{"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.ati.tn"},
{"to", "whois.tonic.to"},
{"tp", "whois.domains.tl"},
{"tr", "whois.nic.tr"},
{"travel", "whois.nic.travel"},
{"tw", "whois.twnic.net.tw"},
{"tv", "whois.nic.tv"},
{"tz", "whois.tznic.or.tz"},
{"ua", "whois.ua"},
{"uk", "whois.nic.uk"},
{"uk.com", "whois.centralnic.com"},
{"uk.net", "whois.centralnic.com"},
{"ac.uk", "whois.ja.net"},
{"gov.uk", "whois.ja.net"},
{"us", "whois.nic.us"},
{"us.com", "whois.centralnic.com"},
{"uy", "nic.uy"},
{"uy.com", "whois.centralnic.com"},
{"uz", "whois.cctld.uz"},
{"va", "whois.ripe.net"},
{"vc", "whois2.afilias-grs.net"},
{"ve", "whois.nic.ve"},
{"vg", "whois.adamsnames.tc"},
{"ws", "whois.website.ws"},
{"xxx", "whois.nic.xxx"},
{"yu", "whois.ripe.net"},
{"za.com", "whois.centralnic.com"}
};
public static string GetWhoisServerName(string domainName)
{
if (String.IsNullOrWhiteSpace(domainName))
{
throw new ArgumentNullException("domainName", "domainName value cannot be a null, empty or whitespace");
}
if (domainName.Contains('.') == false)
{
throw new ArgumentException("domainName", "Not a valid domain name");
}
string tld = GetTLDFromDomainName(domainName);
if (String.IsNullOrWhiteSpace(tld))
{
throw new ArgumentException("domainName", "Not a valid domain name");
}
else
{
tld = tld.Trim();
if (WhoisServerCollection.ContainsKey(tld))
{
return WhoisServerCollection[tld];
}
}
return null;
}
public static string GetTLDFromDomainName(string domainName)
{
domainName = domainName.ToLower();
var sortedTldList = GetAvailableTLDNameList().OrderByDescending(t => t.Length).ThenBy(t => t).ToList();
for (int i = 0; i < sortedTldList.Count; i )
{
if (domainName.EndsWith("." sortedTldList[i]))
return sortedTldList[i];
}
return null;
}
public static IEnumerable<string> GetAvailableTLDNameList()
{
return WhoisServerCollection.Keys;
}
}
}
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论