今天我想测试 WHOIS 查询和响应协议是如何工作的,我在Wiki上阅读了一些信息并开始编写代码。 5分钟后,我有完整的工作代码,但我有一些问题,我想与你分享。
这是一个简单的代码,可以向给定的whois.iana.org网址发出请求,并从中获取回复。例如,我在这里请求vitobrothersoft.com并获得回复。现在主要的问题不是这一切是如何运作的,这对我来说是可以理解的。在测试此部分代码时,我更改了请求域whois.iana.org,com.whois-servers.net,whois.verisign-grs.com,并且在某些方面,回复在某些方面是相同的。你可以看到回复的例子。
#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( ) );
}
}
[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 <<<
我想知道
答案 0 :(得分:0)
答案 1 :(得分:0)
whois.iana.org 是root whois服务器,它返回您指定的区域的whois服务器,例如.com,.net,.us,.ca等;对于每个区域whois服务器是不同的,并且诀窍是关于域信息的回复文本/格式在任何地方都不相同。请参阅google.us和google.ca的响应格式示例:
http://domain-records-lookup.com/whois/google.us
http://domain-records-lookup.com/whois/google.ca
还有 rfc3912 for whois可能对你有所帮助。
答案 2 :(得分:0)
请查看我的其他2个答案,它们将为您提供有关您的第一点的更多信息:
对于状态值,它又取决于TLD,但对于通用顶级域名(gTLD),请查看:https://www.icann.org/epp,其中包含完整的状态和说明列表。
至于每个字段的解释,这又取决于TLD,但对于通用顶级域名,您可以在此处找到答案:https://www.icann.org/rdds-labeling-display
对于其他TLD,您需要在相关的注册网站上搜索文档。