php判断类的属性的修饰(PHP whois查询类定义与用法示例)
php判断类的属性的修饰
PHP whois查询类定义与用法示例本文实例讲述了php whois查询类定义与用法。分享给大家供大家参考,具体如下:
whois.class.php
|
<?php class whois{ private $whois_servers = array ( "com" => array ( "whois.verisign-grs.com" , "whois.crsnic.net" ), "net" => array ( "whois.verisign-grs.com" , "whois.crsnic.net" ), "org" => array ( "whois.pir.org" , "whois.publicinterestregistry.net" ), "info" => array ( "whois.afilias.info" , "whois.afilias.net" ), "biz" => array ( "whois.neulevel.biz" ), "us" => array ( "whois.nic.us" ), "uk" => array ( "whois.nic.uk" ), "ca" => array ( "whois.cira.ca" ), "tel" => array ( "whois.nic.tel" ), "ie" => array ( "whois.iedr.ie" , "whois.domainregistry.ie" ), "it" => array ( "whois.nic.it" ), "li" => array ( "whois.nic.li" ), "no" => array ( "whois.norid.no" ), "cc" => array ( "whois.nic.cc" ), "eu" => array ( "whois.eu" ), "nu" => array ( "whois.nic.nu" ), "au" => array ( "whois.aunic.net" , "whois.ausregistry.net.au" ), "de" => array ( "whois.denic.de" ), "ws" => array ( "whois.worldsite.ws" , "whois.nic.ws" , "www.nic.ws" ), "sc" => array ( "whois2.afilias-grs.net" ), "mobi" => array ( "whois.dotmobiregistry.net" ), "pro" => array ( "whois.registrypro.pro" , "whois.registry.pro" ), "edu" => array ( "whois.educause.net" , "whois.crsnic.net" ), "tv" => array ( "whois.nic.tv" , "tvwhois.verisign-grs.com" ), "travel" => array ( "whois.nic.travel" ), "name" => array ( "whois.nic.name" ), "in" => array ( "whois.inregistry.net" , "whois.registry.in" ), "me" => array ( "whois.nic.me" , "whois.meregistry.net" ), "at" => array ( "whois.nic.at" ), "be" => array ( "whois.dns.be" ), "cn" => array ( "whois.cnnic.cn" , "whois.cnnic.net.cn" ), "asia" => array ( "whois.nic.asia" ), "ru" => array ( "whois.ripn.ru" , "whois.ripn.net" ), "ro" => array ( "whois.rotld.ro" ), "aero" => array ( "whois.aero" ), "fr" => array ( "whois.nic.fr" ), "se" => array ( "whois.iis.se" , "whois.nic-se.se" , "whois.nic.se" ), "nl" => array ( "whois.sidn.nl" , "whois.domain-registry.nl" ), "nz" => array ( "whois.srs.net.nz" , "whois.domainz.net.nz" ), "mx" => array ( "whois.nic.mx" ), "tw" => array ( "whois.apnic.net" , "whois.twnic.net.tw" ), "ch" => array ( "whois.nic.ch" ), "hk" => array ( "whois.hknic.net.hk" ), "ac" => array ( "whois.nic.ac" ), "ae" => array ( "whois.nic.ae" ), "af" => array ( "whois.nic.af" ), "ag" => array ( "whois.nic.ag" ), "al" => array ( "whois.ripe.net" ), "am" => array ( "whois.amnic.net" ), "as" => array ( "whois.nic.as" ), "az" => array ( "whois.ripe.net" ), "ba" => array ( "whois.ripe.net" ), "bg" => array ( "whois.register.bg" ), "bi" => array ( "whois.nic.bi" ), "bj" => array ( "www.nic.bj" ), "br" => array ( "whois.nic.br" ), "bt" => array ( "whois.netnames.net" ), "by" => array ( "whois.ripe.net" ), "bz" => array ( "whois.belizenic.bz" ), "cd" => array ( "whois.nic.cd" ), "ck" => array ( "whois.nic.ck" ), "cl" => array ( "nic.cl" ), "coop" => array ( "whois.nic.coop" ), "cx" => array ( "whois.nic.cx" ), "cy" => array ( "whois.ripe.net" ), "cz" => array ( "whois.nic.cz" ), "dk" => array ( "whois.dk-hostmaster.dk" ), "dm" => array ( "whois.nic.cx" ), "dz" => array ( "whois.ripe.net" ), "ee" => array ( "whois.eenet.ee" ), "eg" => array ( "whois.ripe.net" ), "es" => array ( "whois.ripe.net" ), "fi" => array ( "whois.ficora.fi" ), "fo" => array ( "whois.ripe.net" ), "gb" => array ( "whois.ripe.net" ), "ge" => array ( "whois.ripe.net" ), "gl" => array ( "whois.ripe.net" ), "gm" => array ( "whois.ripe.net" ), "gov" => array ( "whois.nic.gov" ), "gr" => array ( "whois.ripe.net" ), "gs" => array ( "whois.adamsnames.tc" ), "hm" => array ( "whois.registry.hm" ), "hn" => array ( "whois2.afilias-grs.net" ), "hr" => array ( "whois.ripe.net" ), "hu" => array ( "whois.ripe.net" ), "il" => array ( "whois.isoc.org.il" ), "int" => array ( "whois.isi.edu" ), "iq" => array ( "vrx.net" ), "ir" => array ( "whois.nic.ir" ), "is" => array ( "whois.isnic.is" ), "je" => array ( "whois.je" ), "jp" => array ( "whois.jprs.jp" ), "kg" => array ( "whois.domain.kg" ), "kr" => array ( "whois.nic.or.kr" ), "la" => array ( "whois2.afilias-grs.net" ), "lt" => array ( "whois.domreg.lt" ), "lu" => array ( "whois.restena.lu" ), "lv" => array ( "whois.nic.lv" ), "ly" => array ( "whois.lydomains.com" ), "ma" => array ( "whois.iam.net.ma" ), "mc" => array ( "whois.ripe.net" ), "md" => array ( "whois.nic.md" ), "mil" => array ( "whois.nic.mil" ), "mk" => array ( "whois.ripe.net" ), "ms" => array ( "whois.nic.ms" ), "mt" => array ( "whois.ripe.net" ), "mu" => array ( "whois.nic.mu" ), "my" => array ( "whois.mynic.net.my" ), "nf" => array ( "whois.nic.cx" ), "pl" => array ( "whois.dns.pl" ), "pr" => array ( "whois.nic.pr" ), "pt" => array ( "whois.dns.pt" ), "sa" => array ( "saudinic.net.sa" ), "sb" => array ( "whois.nic.net.sb" ), "sg" => array ( "whois.nic.net.sg" ), "sh" => array ( "whois.nic.sh" ), "si" => array ( "whois.arnes.si" ), "sk" => array ( "whois.sk-nic.sk" ), "sm" => array ( "whois.ripe.net" ), "st" => array ( "whois.nic.st" ), "su" => array ( "whois.ripn.net" ), "tc" => array ( "whois.adamsnames.tc" ), "tf" => array ( "whois.nic.tf" ), "th" => array ( "whois.thnic.net" ), "tj" => array ( "whois.nic.tj" ), "tk" => array ( "whois.nic.tk" ), "tl" => array ( "whois.domains.tl" ), "tm" => array ( "whois.nic.tm" ), "tn" => array ( "whois.ripe.net" ), "to" => array ( "whois.tonic.to" ), "tp" => array ( "whois.domains.tl" ), "tr" => array ( "whois.nic.tr" ), "ua" => array ( "whois.ripe.net" ), "uy" => array ( "nic.uy" ), "uz" => array ( "whois.cctld.uz" ), "va" => array ( "whois.ripe.net" ), "vc" => array ( "whois2.afilias-grs.net" ), "ve" => array ( "whois.nic.ve" ), "vg" => array ( "whois.adamsnames.tc" ), "yu" => array ( "whois.ripe.net" ) ); public function whoislookup( $domain ) { $domain = trim( $domain ); //remove space from start and end of domain if ( substr ( strtolower ( $domain ), 0, 7) == "http://" ) $domain = substr ( $domain , 7); // remove http:// if included if ( substr ( strtolower ( $domain ), 0, 4) == "www." ) $domain = substr ( $domain , 4); //remove www from domain if (preg_match( "/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/" , $domain )) return $this ->querywhois( "whois.lacnic.net" , $domain ); elseif (preg_match( "/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i" , $domain )) { $domain_parts = explode ( "." , $domain ); $tld = strtolower ( array_pop ( $domain_parts )); $server = $this ->whois_servers[ $tld ][0]; if (! $server ) { return "error: no appropriate whois server found for $domain domain!" ; } $res = $this ->querywhois( $server , $domain ); while (preg_match_all( "/whois server: (.*)/" , $res , $matches )) { $server = array_pop ( $matches [1]); $res = $this ->querywhois( $server , $domain ); } return $res ; } else return "invalid input" ; } private function querywhois( $server , $domain ) { $fp = @ fsockopen ( $server , 43, $errno , $errstr , 20) or die ( "socket error " . $errno . " - " . $errstr ); if ( $server == "whois.verisign-grs.com" ) $domain = "=" . $domain ; fputs ( $fp , $domain . "\r\n" ); $out = "" ; while (! feof ( $fp )){ $out .= fgets ( $fp ); } fclose( $fp ); return $out ; } } ?> |
调用的方式
|
<?php require ( "whois.class.php" ); $whois = new whois; echo $whois ->whoislookup( "www.zzvips.com" ); ?> |
运行结果:
domain name: jb51.net registry domain id: 527217184_domain_net-vrsn registrar whois server: whois.godaddy.com registrar url: http://www.godaddy.com updated date: 2016-05-26t08:17:44z creation date: 2006-07-22t03:11:39z registry expiry date: 2024-07-22t03:11:39z registrar: godaddy.com, llc registrar iana id: 146 registrar abuse contact email: abuse@godaddy.com registrar abuse contact phone: 480-624-2505 domain status: clientdeleteprohibited https://icann.org/epp#clientdeleteprohibited domain status: clientrenewprohibited https://icann.org/epp#clientrenewprohibited domain status: clienttransferprohibited https://icann.org/epp#clienttransferprohibited domain status: clientupdateprohibited https://icann.org/epp#clientupdateprohibited name server: ns1.dnsv2.com name server: ns2.dnsv2.com dnssec: unsigned url of the icann whois inaccuracy complaint form: https://www.icann.org/wicf/ >>> last update of whois database: 2019-04-03t03:32:17z <<< for more information on whois status codes, please visit https://icann.org/epp notice: the expiration date displayed in this record is the date the registrar's sponsorship of the domain name registration in the registry is currently set to expire. this date does not necessarily reflect the expiration date of the domain name registrant's agreement with the sponsoring registrar. users may consult the sponsoring registrar's whois database to view the registrar's reported date of expiration for this registration. terms of use: you are not authorized to access or query our whois database through the use of electronic processes that are high-volume and automated except as reasonably necessary to register domain names or modify existing registrations; the data in verisign global registry services' ("verisign") whois database is provided by verisign for information purposes only, and to assist persons in obtaining information about or related to a domain name registration record. verisign does not guarantee its accuracy. by submitting a whois query, you agree to abide by the following terms of use: you agree that you may use this data only for lawful purposes and that under no circumstances will you use this data to: (1) allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations via e-mail, telephone, or facsimile; or (2) enable high volume, automated, electronic processes that apply to verisign (or its computer systems). the compilation, repackaging, dissemination or other use of this data is expressly prohibited without the prior written consent of verisign. you agree not to use electronic processes that are automated and high-volume to access or query the whois database except as reasonably necessary to register domain names or modify existing registrations. verisign reserves the right to restrict your access to the whois database in its sole discretion to ensure operational stability. verisign may restrict or terminate your access to the whois database for failure to abide by these terms of use. verisign reserves the right to modify these terms at any time. the registry database contains only .com, .net, .edu domains and registrars.
PS:开心学习网在线工具箱
whois查询:https://tool.zzvips.com/t/whois/
希望本文所述对大家php程序设计有所帮助。
原文链接:https://blog.csdn.net/Huang6899587/article/details/86691640
- php添加到数组的用法(详解PHP 7.4 中数组延展操作符语法知识点)
- php如何复制数组(php5对象复制、clone、浅复制与深复制实例详解)
- phpstudy服务器怎么设置(phpstudy本地环境开启.htaccess伪静态方法)
- php 会话session实现用户登录功能(PHP cookie,session的使用与用户自动登录功能实现方法分析)
- php里的fpm是什么(phpfpm的作用和用法)
- php面向对象3大特征(PHP面向对象程序设计重载overloading操作详解)
- thinkphp5设计权限(Thinkphp5.0 框架视图view的比较标签用法分析)
- php商城支付接口(php实现银联商务公众号+服务窗支付的示例代码)
- centos安装php5.6(Centos7 Yum安装PHP7.2流程教程详解)
- php 各类商品结算算法(PHP实现财务审核通过后返现金额到客户的功能)
- php使用面向对象如何写好代码(PHP面向对象程序设计模拟一般面向对象语言中的方法重载overload示例)
- python与php(解决Python3 被PHP程序调用执行返回乱码的问题)
- 虚拟机windows server安装php环境(winxp apache用php建本地虚拟主机的方法)
- nginx和php怎么结合(php和nginx交互实例讲解)
- thinkphp导入excel(Yii框架使用PHPExcel导出Excel文件的方法分析改进版)
- phpstudy的mysql无法启动(Windows系统下解决PhPStudy MySQL启动失败问题)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
- 《内在美》后,一大波新韩剧来袭,李钟硕朴信惠宋慧乔玄彬回归(一大波新韩剧来袭)
- 给孩子选购保温杯,注意这4个步骤,比颜值更重要(给孩子选购保温杯)
热门推荐
- laravel对请求参数解密(Laravel开启跨域请求的方法)
- html5移动app开发实战(html5启动原生APP总结)
- lnmp怎么连接服务器(LNMP系列教程之 解决sendmail不能发送邮件问题)
- vue左右滑动切换(vue实现界面滑动效果)
- ajax回调函数不执行
- python怎么去掉字符串的空格(Python切片操作去除字符串首尾的空格)
- vue引入axios(vue封装axios的几种方法)
- mysql8.0设置root密码(MySQL8.0.23版本的root密码重置最优解法)
- 云服务器是不是云主机(云主机和服务器的区别在哪里)
- python学生信息管理系统教程(学生信息管理系统Python面向对象版)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9