五边形/whois

域名和网络身份的Whois检查

1.0.4 2017-10-25 02:14 UTC

This package is not auto-updated.

Last update: 2024-09-15 04:07:01 UTC


README

Build Status Coverage Status

PHP域名/ASN/IP WhoIs检查器

存储最完整的WhoIs服务器记录。

要求

  • php 5.6或更高版本(建议使用>= 7)
  • 启用国际化扩展(php-intl
  • PHP套接字启用(fopen & fsockopen
  • 允许连接到/端口43进行出站连接

用法

# please contribute or just read the code
# or just use IDE (eg: jetbrains phpstorm) to get auto complete
<?php
/**
 * WhoIs detail returning server as key
 * returning @uses \ArrayObject 
 */
use Pentagonal\WhoIs\WhoIs;
use Pentagonal\WhoIs\Util\DataGetter;

$who = new WhoIs(new DataGetter());
/**
 * get data from whois with fully detail per registrant data
 * second param is follow whois or check if domain have internal server from registrant
 */
$who->getWhoIsWithArrayDetail('example.com', true); # instance of ArrayObject
/**
 * get data from whois with include alternative if there was alternative will be returning 2 array data
 * second param is clean unwanted string result domain if possible
 * third param is follow whois or check if domain have internal server from registrant
 */
$whois = $who->getWhoIs('example.com', true, true); # instance of ArrayObject
// to get end of result if possible detailed result whois data
$whois->last(); # string

/**
 * Get server address for whois from domain
 */
$who->getWhoIsServer('example.com'); # string
/**
 * get ip data result
 */
$who->getIpData('127.0.0.1'); # instance of ArrayObject

/**
 * get domain is registered or not
 * if returning null result is unknown otherwise boolean
 * true if registered or false is unregistered
 */
$who->isDomainRegistered('example.com');
// ... do your

用途

  • 通过给定扩展验证电子邮件
  • 域名验证
  • 自动获取扩展

许可

GPL-3.0 查看LICENSE

链接

公共后缀列表:https://publicsuffix.org/list/effective_tld_names.dat

IANA TLDS列表:https://data.iana.org/TLD/tlds-alpha-by-domain.txt

责任


I'm not guaranteed that the script run perfectly & works like a charms.
But I want to help to build some useful code to use  & help other peoples.

If there was crash or other damage 
    (maybe got banned from ISP / The party of connect with whois & data)
All of risks being your responsibilities.

使用Composer安装

{
 // ... other
  "require": {
    // ... other repo
    "pentagonal/whois": "^1.0"
  }
}

composer require pentagonal/whois "^1.0"

注意

Deprecated untill next release
The script work but not fully work properly on result check

Whois服务器仅支持通过套接字。

某些域名不知道服务器套接字地址。

代码为最终发布版,将在下一个仓库中更新以支持PSR7兼容性。