小智 5
实际上问题是比这大得多.
WHOIS服务由RFC3912定义.这是一个没有定义的回答内容的格式非常基本的请求协议在所有.因此,答案通常反映了包含数据的数据库的格式,您可能会为每个数据库获得不同的语法.由于WHOIS可以用于您想要的任何内容,因此您无法对您将获得的答案格式做出许多假设.但是,希望您可以获得可解析的内容,以及针对每个请求的类似格式的答案.
因此,您需要为每个服务器开发一个解析逻辑,您必须以非常经验的方式进行操作.
但是,这里有一些来自RFC的开发技巧.
您需要使用TCP端口43发送请求,其中一行以CR + LF ASCII字符结束
你必须期望TCP连接结束意味着答案已经完成.
特别是关于域名,您可能需要注意以前对ASCII编码的限制使得一些注册人使用Punycode对DNS系统中的某些(通过示例加重)字符串进行编码,因此您可能希望能够在Whois答案中期望这些字符串如果你在一些回复中见面也是如此.自2003年以来,国际化域名的存在将要求您支持unicode编码.转换名称的算法很复杂,RFC 3490应该会为您提供一些有用的细节.
祝好运 !