shapito27/whois-parser 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

shapito27/whois-parser

Composer 安装命令:

composer require shapito27/whois-parser

包简介

Tool to parse whois response

关键字:

README 文档

README

Tool helps parsing whois response.

You got response as plain text(for example by Ubuntu package whois or any other tool):


    Domain name:
        auto.uk

    Data validation:
        Nominet was able to match the registrant's name and address against a 3rd party data source on 14-Dec-2017

    Registrar:
        eNom LLC [Tag = ENOM]
        URL: http://www.enom.com

    Relevant dates:
        Registered on: 23-Jun-2016
        Expiry date:  23-Jun-2021
        Last updated:  25-May-2020

    Registration status:
        Registered until expiry date.

    Name servers:
        a.ns.keyweb.org
        b.ns.keyweb.org
        c.ns.keyweb.de

    WHOIS lookup made at 05:43:54 29-Apr-2021

-- 
This WHOIS information is provided for free by Nominet UK the central registry
for .uk domain names. This information and the .uk WHOIS are:

    Copyright Nominet UK 1996 - 2021.


This package analyzes it and return object with structured data.

Install

composer require shapito27/whois-parser

Example

(more detailed example)

lets imagine you use shell command whois facebook.com and want to parse it.

Input: domain name and $whoisText is response of shell command

//set domain name and output of its whois data
$parser = new \Shapito27\Whois\WhoisParser('facebook.com', $whoisText);

//run parsing whois data
$whoisParserResult = $parser->run();

//check if any error
if (!empty($whoisParserResult->getErrorMessage())) {
    die($whoisParserResult->getErrorMessage());
}

//get and output whois object 
var_dump($whoisParserResult->getWhois());

Output:

Shapito27\Whois\Whois::__set_state(array(
  'status' => 1,
  'creationDate' => '1997-03-29 05:00:00',
  'updateDate' => '2020-03-10 18:53:59',
  'expirationDate' => '2028-03-30 04:00:00',
  'nameServers' => 
 array (
   0 => 'a.ns.facebook.com',
   1 => 'b.ns.facebook.com',
   2 => 'c.ns.facebook.com',
   3 => 'd.ns.facebook.com',
 ),
  'registrar' => 
 Shapito27\Whois\Registrar::__set_state(array(
    'id' => '3237',
    'name' => 'RegistrarSafe, LLC',
    'abuseContactEmail' => 'abusecomplaints@registrarsafe.com',
    'abuseContactPhone' => '+1.6503087004',
 )),
  'registryDomainId' => '2320948_DOMAIN_COM-VRSN',
  'errorMessage' => NULL,
))

Parse inside loop

To avoid parsing config on each iterration define parser outside the loop.

$domains = [
'facebook.com' => 'facebook whois text',
'google.com' => 'google whois text'
];

//set domain name and output of its whois data
$parser = new \Shapito27\Whois\WhoisParser();

foreach($domains as $domain => $whoisText) {
   $parser->setDomainName($domain);
   //set formatter each iteration
   $parser->detectFormat();
   $parser->setWhoisText($whoisText);
   
   //run parsing whois data
   $whoisParserResult = $parser->run();
   
   //check if any error
   if (!empty($whoisParserResult->getErrorMessage())) {
        die($whoisParserResult->getErrorMessage());
    }
   
   //get and output whois object 
   var_dump($whoisParserResult->getWhois());
   //display errors
   var_dump($whoisParserResult->getErrorMessage());
}

Projects use this lib

bestdrop.io

shapito27/whois-parser 适用场景与选型建议

shapito27/whois-parser 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.1k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2020 年 11 月 01 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「parser」 「whois」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 shapito27/whois-parser 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 shapito27/whois-parser 我们能提供哪些服务?
定制开发 / 二次开发

基于 shapito27/whois-parser 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.1k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 3
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-11-01