如何处理whois数据

VKG*_*KGS 0 php xml mysql whois

我需要把whois数据放在像这样的表中

  • 注册,
  • 创建日期,
  • 到期日等

我的脚本是从whois服务器提取数据,但每个域扩展的输出是不同的.

例如,对于.com域名,注册人详细信息以总地址形式.org出现,域名则以注册人名称,街道1,街道2,街道3等形式出现.

所以我无法将注册人详细信息作为一个单元放入db中.

我听说如果我们得到xml数据我们能够提取它,有人可以帮助解决这个问题吗?谢谢!.

小智 5

实际上问题是比这大得多.

  • 请求没有统一的语法
  • 也没有定义一组能力
  • 没有明确的答案方案
  • 当地立法使内容不同
  • 没有标准化的错误集
  • 记录的信息质量很差
  • 你必须处理内化

WHOIS服务由RFC3912定义.这是一个没有定义的回答内容的格式非常基本的请求协议在所有.因此,答案通常反映了包含数据的数据库的格式,您可能会为每个数据库获得不同的语法.由于WHOIS可以用于您想要的任何内容,因此您无法对您将获得的答案格式做出许多假设.但是,希望您可以获得可解析的内容,以及针对每个请求的类似格式的答案.

因此,您需要为每个服务器开发一个解析逻辑,您必须以非常经验的方式进行操作.

但是,这里有一些来自RFC的开发技巧.

  • 您需要使用TCP端口43发送请求,其中一行以CR + LF ASCII字符结束

  • 你必须期望TCP连接结束意味着答案已经完成.

特别是关于域名,您可能需要注意以前对ASCII编码的限制使得一些注册人使用Punycode对DNS系统中的某些(通过示例加重)字符串进行编码,因此您可能希望能够在Whois答案中期望这些字符串如果你在一些回复中见面也是如此.自2003年以来,国际化域名的存在将要求您支持unicode编码.转换名称的算法很复杂,RFC 3490应该会为您提供一些有用的细节.

祝好运 !