galangw/whois-tools 问题修复 & 功能扩展

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

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

galangw/whois-tools

Composer 安装命令:

composer require galangw/whois-tools

包简介

A reusable PHP package for WHOIS and RDAP lookups, with optional Laravel support.

README 文档

README

A reusable PHP package for WHOIS and RDAP domain lookups with strong TLD compatibility.

Features

  • Standalone PHP API - Works in any PHP project
  • Laravel Integration - Service Provider + Facade included
  • Multiple Data Sources - Support for both WHOIS and RDAP protocols
  • PSR-4 Autoloading - Proper namespace structure
  • Comprehensive Data Parsing - Extract registrar, dates, nameservers, and more

Requirements

  • PHP >= 8.1
  • ext-mbstring (recommended for encoding conversion)
  • Network access for WHOIS (port 43) and RDAP (HTTPS)

Installation

Install via Composer:

composer require galangw/whois-tools

For Laravel projects, the service provider is auto-discovered. For standalone usage, just include Composer's autoloader.

Usage

1) Standalone PHP

<?php
require 'vendor/autoload.php';

use Galangw\WhoisTools\Lookup;

$lookup = new Lookup('example.com', ['whois', 'rdap']); // choose sources: 'whois', 'rdap', or both
$parser = $lookup->parser;

echo "Domain: " . ($parser->domain ?? 'n/a') . PHP_EOL;
echo "Registered: " . ($parser->registered ? 'yes' : 'no') . PHP_EOL;
echo "Registrar: " . ($parser->registrar ?? 'n/a') . PHP_EOL;

if (!empty($lookup->whoisData)) {
    echo PHP_EOL . "=== Raw WHOIS ===" . PHP_EOL;
    echo $lookup->whoisData . PHP_EOL;
}

if (!empty($lookup->rdapData)) {
    echo PHP_EOL . "=== Raw RDAP ===" . PHP_EOL;
    echo $lookup->rdapData . PHP_EOL;
}

2) Laravel Integration

After installation, the service provider and facade are auto-discovered.

Publishing Config

php artisan vendor:publish --provider="Galangw\WhoisTools\Laravel\WhoisToolsServiceProvider" --tag=config

Using the Facade

<?php
use Galangw\WhoisTools\Laravel\Facades\WhoisTools;

// Using default sources from config (whois+rdap)
$parser = WhoisTools::lookup('example.com');

// Using custom sources
$parser = WhoisTools::lookup('example.com', ['sources' => ['rdap']]);

// Access parsed data
echo "Domain: " . ($parser->domain ?? 'n/a') . PHP_EOL;
echo "Registered: " . ($parser->registered ? 'yes' : 'no') . PHP_EOL;
echo "Registrar: " . ($parser->registrar ?? 'n/a') . PHP_EOL;

Configuration Options

The published config file config/whois-tools.php includes:

  • timeout_whois - Timeout for WHOIS queries (seconds)
  • timeout_rdap - Timeout for RDAP queries (seconds)
  • default_sources - Default data sources ['whois', 'rdap']
  • paths - Override paths for PSL and server lists (optional)

API Reference

Lookup Class

$lookup = new Lookup(string $domain, array $sources = ['whois', 'rdap']);

// Properties
$lookup->parser;      // Parsed domain data object
$lookup->whoisData;   // Raw WHOIS response string
$lookup->rdapData;    // Raw RDAP response JSON string

Parser Object Properties

  • domain - Domain name
  • registered - Boolean registration status
  • registrar - Registrar name
  • registrarURL - Registrar URL
  • creationDate - Creation date
  • expirationDate - Expiration date
  • updatedDate - Last updated date
  • availableDate - Available date (if applicable)
  • status - Array of domain status codes
  • nameServers - Array of name servers
  • age - Domain age (if calculable)
  • remaining - Time remaining until expiration (if calculable)

Version History

v1.1.0

  • Fixed PSR-4 autoloading structure - Moved classes from src/Galangw/WhoisTools/ to src/ for proper namespace mapping
  • Improved documentation and examples
  • Cleaned up unused files

v1.0.x

  • Initial release with WHOIS and RDAP support
  • Laravel integration with auto-discovery

License

MIT License. See the LICENSE file for details.

Credits

galangw/whois-tools 适用场景与选型建议

galangw/whois-tools 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 56 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 08 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 56
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 22
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-06