【问题标题】:I want to convert raw html whois lookup data into json or xml using php or any language我想使用 php 或任何语言将原始 html whois 查找数据转换为 json 或 xml
【发布时间】:2016-02-21 02:37:13
【问题描述】:

我从 here 获得了这个用于 whois 查询的代码。

但我正在获取原始数据或 html 数据 .. 我正在获取输出,但不是像 json 或 xml 那样的可读格式 .. 我如何将其转换为 json .. 粘贴示例输出

ttmm.com domain lookup results from whois.ename.com server:

enter code here Domain Name: ttmm.com
Registry Domain ID:
Registrar WHOIS Server: whois.ename.com
Registrar URL: http://www.ename.net
Updated Date: 1998-11-25 T05:00:00Z
Creation Date: 1998-11-25 T05:00:00Z
Registrar Registration Expiration Date: 2016-11-24 T05:00:00Z
Registrar: eName Technology Co.,Ltd.
Registrar IANA ID: 1331
Registrar Abuse Contact Email: abuse@ename.com
Registrar Abuse Contact Phone: +86.4000044400
Domain Status: clientDeleteProhibited
https://www.icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited             https://www.icann.org/epp#clientTransferProhibited
 Registry Registrant ID:Not Available From Registry
Registrant Name: chousteven
Registrant Organization: hua you
Registrant Street: an yuan cun daxue cheng
Registrant City: ping xiang shi
Registrant State/Province: jiang xi
Registrant Postal Code: 337000
Registrant Country: CN
Registrant Phone: +86.15979220355
Registrant Phone Ext:
Registrant Fax: +86.15979220355
Registrant Fax Ext:
Registrant Email: stekiss@163.com
Registry Admin ID:Not Available From Registry
Admin Name: chousteven
Admin Organization: hua you
Admin Street: an yuan cun daxue cheng
Admin City: ping xiang shi
Admin State/Province: jiang xi
Admin Postal Code: 337000
Admin Country: CN
Admin Phone: +86.15979220355
Admin Phone Ext:
Admin Fax: +86.15979220355
Admin Fax Ext:
Admin Email: stekiss@163.com
Registry Tech ID:Not Available From Registry
Tech Name: chousteven
Tech Organization: hua you
Tech Street: an yuan cun daxue cheng
Tech City: ping xiang shi
Tech State/Province: jiang xi
Tech Postal Code: 337000
Tech Country: CN
Tech Phone: +86.15979220355
Tech Phone Ext:
Tech Fax: +86.15979220355
Tech Fax Ext:
Tech Email: stekiss@163.com
Name Server: ns1.alidns.com
Name Server: ns2.alidns.com
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System:    http://wdprs.internic.net/
>>> Last update of WHOIS database: 2015-11-19 T12:53:51Z <<<
For more information on Whois status codes, please visit
https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en

【问题讨论】:

  • 你试过什么?向我们展示您尝试过的一些代码。
  • 我已经给出了代码链接。
  • 您可以将此输出解析为 json 或 xml。或者,您可以使用一些具有 API 的服务来下载 json 或 xml 格式的 WHOIS 数据。有些看起来是免费的,有些是付费服务。
  • 这非常容易做到。如果您想在 PHP 中执行此操作,只需逐行遍历它,在冒号上拆分它,然后将该行重写为 JSON。试试看,如果你不能让它工作,回来展示你尝试过的东西。
  • @JimArcher 不幸的是,事情没那么简单。并非所有注册商都使用该特定格式。

标签: java php html json whois


【解决方案1】:

大量自定义解析。对不起。没有简单的解决方案。

WHOIS 回复没有标准格式。至少,大多数注册管理机构的回复格式略有不同;此外,.COM 和 .NET 等“精简注册”要求每个注册商实施自己的 WHOIS 服务器,每个服务器都有自己略有不同的特殊格式。

正如其他人所指出的,有付费 API 可用于为您进行此解析。根据您的需要,这可能是比尝试自己解析数千种不同格式更合适的解决方案。

【讨论】:

  • 是的,我尝试过自己做,但如果服务器以原始格式发送数据,我们无法修改它,这是不可能的。付费api是关键。
  • 这不是真的。 ICANN 确实要求每个注册商实施端口 43 whois 服务器,但他们非常详细地规定了 whois 输出的格式。如果您在端口 43 上 telnet 到注册商的 whois 服务器,并发送他们赞助的域名,然后发送 CR/LF,您将得到它。您可以在冒号上拆分它,然后解析其他行。这很简单。几年前,在输出格式被规定之前,付费 API 可能很有用,但现在不再有用了。
  • @JimArcher 一般情况并非如此。 2013 ICANN RAA 确实推荐了 WHOIS 回复格式,但并非所有注册服务机构都同意该版本的文档,因此许多 WHOIS 服务器仍然使用非标准格式。此外,ccTLD 不受 ICANN RAA 的约束,并且大多数使用特殊格式的 WHOIS 响应。 (有些,如 .ES,根本不提供公共 WHOIS!)
  • @JimArcher …此外,一些 WHOIS 服务器会对请求进行严格的速率限制,一旦达到该限制就会提供简短的响应或不提供响应。 GoDaddy 在这方面特别糟糕。
  • @duskwuff 关于不受 ICANN 控制的注册管理机构(他们很幸运),您有一个很好的观点。但是,对于受 ICANN 约束的注册服务商,无论他们是否签署了协议,ICANN 都有一种方法可以胁迫注册服务商去做他们没有义务做的事情。那天我可以吐槽,但在这种情况下,我检查过的大多数注册商都符合新标准。
【解决方案2】:

将文本拆分为行。 阅读每一行。 检查每一行是否有过期关键字。 如果找到,请尝试返回所需的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 2012-02-27
    • 1970-01-01
    • 2022-11-16
    相关资源
    最近更新 更多