该库提供两个主要功能:
用于从 IANA 组织(ARIN、AFRINIC、APNIC、LACNIC 和 RIPE)的离线批量 whois 数据库转储中读取 Whois 记录的解析器
用于从 ARIN 推荐 Whois 服务器检索在线 RWhois数据的爬网程序。这是 RFC 2167 的部分实现,支持使用-xfer命令的批量爬网和增量爬网。
该库不提供联系 REST API 的功能,例如 ARIN 的 Whois-RWS。
创建新的控制台 C# 项目,然后使用 Visual Studio GUI 或在包管理器控制台中使用以下命令来安装 WhoisParsers NuGet 包:
安装包 WhoisParsers
var parser = new WhoisParser(新的SectionTokenizer(), 新的SectionParser());
var parser = new WhoisParser(new AfrinicSectionTokenizer(), new SectionParser());
您可以从此处获取示例arin.sample.txt文件。
var parser = new WhoisParser(new SectionTokenizer(), new SectionParser());varsections = parser.RetrieveSections(@"arin.sample.txt");foreach(节中的 var 节){Console.WriteLine(string.Format( CultureInfo.InvariantCulture, "部分 ID: {0}", section.Id));Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "记录数: {0}",section.Records.Count));Console.WriteLine("---- 节记录:") ;Console.WriteLine(节);Console.WriteLine();}
WhoisParser 提供的公共功能包括:
功能 | 描述 |
---|---|
每个类型的列数 | 检索数据库转储中每种类型记录的唯一记录名称列表。签名变体:
|
检索部分 | 从批量数据库中检索已解析的部分。签名变体:
|
从字符串中检索部分 | 从批量数据库中检索已解析的部分,其中数据库作为字符串传入。签名变体:
|
该库包含增加 IPV4 和(更重要的是)IPv6 IP 地址的函数。
使用 Microsoft.Geolocation.Whois.Utils;...var ipv4Address = IPAddress.Parse("192.168.0.1");Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "之前:{0},之后:{1} ", ipv4Address, ipv4Address.Increment()));var ipv6Address = IPAddress.Parse("2001:db8:a0b:12f0::1");Console.WriteLine(string.Format(CultureInfo.InvariantCulture, "之前: {0}, 之后: {1}", ipv6Address, ipv6Address.Increment( )));
输出如下所示:
Before: 192.168.0.1, After: 192.168.0.2 Before: 2001:db8:a0b:12f0::1, After: 2001:db8:a0b:12f0::2
文档待办事项
文档待办事项
文档待办事项