.net 关于Whois服务器回复的详细信息 背景

.net 关于Whois服务器回复的详细信息 背景,.net,c++-cli,whois,.net,C++ Cli,Whois,今天我想测试一下查询和响应协议是如何工作的,我在Wiki上读了一些信息,并开始编写代码。5分钟后,我有了完整的工作代码,但我有一些问题想与大家分享 代码 下面是一个简单的代码,它向给定的url发出请求并从中获得回复。例如,在这里,我请求并得到回复。现在主要的问题不是这一切如何运作,这对我来说是可以理解的。在测试这部分代码时,我更改了请求域,在某些方面,回复在某些方面是相同的。否。您可以看到下面的回复示例 #include "stdafx.h" using namespace System;

今天我想测试一下查询和响应协议是如何工作的,我在Wiki上读了一些信息,并开始编写代码。5分钟后,我有了完整的工作代码,但我有一些问题想与大家分享

代码 下面是一个简单的代码,它向给定的url发出请求并从中获得回复。例如,在这里,我请求并得到回复。现在主要的问题不是这一切如何运作,这对我来说是可以理解的。在测试这部分代码时,我更改了请求域,在某些方面,回复在某些方面是相同的。否。您可以看到下面的回复示例

#include "stdafx.h"

using namespace System;

#define PORT 43

int main(array<System::String ^> ^args)
{
    System::Net::Sockets::TcpClient^ client = gcnew System::Net::Sockets::TcpClient("whois.iana.org", PORT);

    if( client != nullptr ) {

        System::String^ formatedDomain = "vitobrothersoft.com" + "\r\n";
        System::Text::Encoding^ ascii  = System::Text::Encoding::ASCII;
        array<System::Byte>^ byteUrl   = ascii->GetBytes(formatedDomain);

        System::IO::Stream^ stream = client->GetStream();

        // Write formatted URL to stream.
        stream->Write( byteUrl, 0, formatedDomain->Length );

        System::IO::StreamReader^ streamReader = gcnew System::IO::StreamReader( stream, System::Text::Encoding::ASCII );

        Console::Write( streamReader->ReadToEnd( ) );
    }
}
#包括“stdafx.h”
使用名称空间系统;
#定义端口43
int main(数组^args)
{
System::Net::Sockets::TcpClient^client=gcnew System::Net::Sockets::TcpClient(“whois.iana.org”,端口);
如果(客户端!=nullptr){
系统::字符串^FormattedDomain=“vitobrothersoft.com”+“\r\n”;
System::Text::Encoding^ascii=System::Text::Encoding::ascii;
数组^byteUrl=ascii->GetBytes(格式化域);
System::IO::Stream^Stream=client->GetStream();
//将格式化的URL写入流。
流->写入(byteUrl,0,格式化域->长度);
System::IO::StreamReader^StreamReader=gcnew System::IO::StreamReader(流,系统::文本::编码::ASCII);
控制台::Write(streamReader->ReadToEnd());
}
}
答复示例
[查询com.whois servers.net]
[com.whois servers.net]
Whois服务器版本2.0
现在可以注册.com和.net域中的域名
与许多不同的注册商竞争。去http://www.internic.net
有关详细信息。
域名:EXAMPLE.COM
注册官:保留互联网分配号码管理局
Whois服务器:Whois.iana.org
转介网址:http://res-dom.iana.org
名称服务器:A.IANA-SERVERS.NET
名称服务器:B.IANA-SERVERS.NET
状态:ClientDelete禁止
状态:禁止客户端转移
状态:clientUpdateProhibited
更新日期:2004年3月26日
创建日期:1995年8月14日
有效期:2011年8月13日
>>>whois数据库的最后更新:2010年8月17日星期二02:23:52 UTC参考
whois.iana.org是根whois服务器,它返回您指定区域的whois服务器,例如for.com、.net、.us、.ca等;对于每个区域,谁是服务器都是不同的,诀窍是关于域信息的回复文本/格式在任何地方都是不同的。请参见google.us和google.ca的响应格式作为示例:



此外,还有可能对您有所帮助的rfc3912。

请查看我的这两个其他答案,这将为您提供关于第一点的更多信息:

对于状态值,这同样取决于TLD,但对于GTLD,请查看:状态和说明的完整列表

对于每个字段的解释,这同样取决于TLD,但对于GTLD,您可以在此处找到答案:


对于其他TLD,您需要在相关的注册表网站上搜索文档。

我记得成熟的服务器是完全不同的。如果你还没有读过RFC,你应该读,因为这是最有可能找到(3)答案的方法。成熟服务器是什么意思?谷歌rfc3912,在你链接的维基百科文章中提到过。谷歌“成熟的人”
[Querying com.whois-servers.net]
[com.whois-servers.net]

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Domain Name: EXAMPLE.COM
   Registrar: RESERVED-INTERNET ASSIGNED NUMBERS AUTHORITY
   Whois Server: whois.iana.org
   Referral URL: http://res-dom.iana.org
   Name Server: A.IANA-SERVERS.NET
   Name Server: B.IANA-SERVERS.NET
   Status: clientDeleteProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Updated Date: 26-mar-2004
   Creation Date: 14-aug-1995
   Expiration Date: 13-aug-2011

>>> Last update of whois database: Tue, 17 Aug 2010 02:23:52 UTC <<<