『原创』再谈用 php 实现域名 whois 信息查询
之前为了做 《plog.cn 1-6位 超期待删 短域名 筛查工具》,特地在 plog.cn 服务器上部署了一个 whois 查询小工具。PS:使用方法 http://plog.cn/whois/yourdomain.com
为了实现这个 whois 小工具,查了足足有两个小时的资料,网上有很多种 whois查询 的php实现,大致实现的思路无不例外以下几种:
1.通过http调用 xinnet或者是万网的 whois查询接口查询,而后将结果输出到页面,博客 http://blog.163.com/mengqing_dao/blog/static/133520513201162634227882/ 所描述的方法,就是这种最简单的,通过间接调用新网 whois查询接口的实现方法
2.直接通过读取 whois服务器,实现域名的查询。文章 http://dev.meettea.com/show-78-1.html 阐述的方法,就是根据被查询域名的后缀名,访问不同的 whois服务器,查询结果
对应的 域名后缀 -> whois 服务器 的映射关系大致如下:
'com'=>'whois.internic.net', 'net'=>'whois.internic.net', 'org'=>'whois.pir.org', 'asia'=>'whois.crsnic.net', 'cn'=>'whois.cnnic.net.cn', 'cc'=>'whois.nic.cc',对于这种方法,虽然实现起来很简单,但是对于在Godaddy.com平台或者是国内的厦门易名网注册的 域名来说,只能查到一个大概,而无法查到具体真正的 domain 的信息,如下:
在godday注册的域名的whois信息
在厦门易名网注册的域名的whois信息
所以,无论上面两种方法,都不能比较完善的实现 whois 的查询功能。
这时候 Jay感觉到,仅仅是 whois 这件小事,也需要用牛刀,我们需要一个完善 whois查询组件。
此时的 Jay立刻打开 google.com,搜索 php whois,果不其然!
在 百度中,搜了半天,出来的都是一些外门奇方,google一搜,就立马出现一套完整的 whois client 的 php 实现,项目名称就叫《phpWhois》,项目主页:http://www.phpwhois.org/ ,于是立马 download 下来,根据文档中的 demo,很快就把 whois 的查询功能实现了。
下面是调用 phpWhois 组件,实现 whois信息查询的核心代码部分:
<pre class="brush:php;toolbar:false"><?phpinclude('whois_inc/whois.main.php');$whois =newWhois();$result = $whois->Lookup($domain);$output = implode("\n", $result['rawdata']);echo $output;?>
在这里
DomainName: lxfq.cnROID:20130114s10001s62921725-cnDomainStatus: okRegistrant ID:000046dbRegistrant:黎军RegistrantContactEmail:2673732891@qq.comSponsoringRegistrar:北京网尊科技有限公司NameServer: ns1.vtopchina.cnNameServer: ns2.vtopchina.cnRegistrationDate:2013-01-1404:02:16ExpirationDate:2014-01-1404:02:16DNSSEC:unsigned
总结:
whois虽然仅仅只是一种最简单的基于 tcp 的查询协议,但是很多工作,即便我们实现起来也非常简单,如果有现成的 php组件可以用的话,就应该尽量避免自己重复发明一个轮子。倒不是说不可以,只是重新实现一种协议,即便是最简单的那种,也会遇到很多的例外。
就像 phpWhois 组件,争对godaddy类似这种的例外情况,就处理的非常好。
所以,专业的事情,还是让专业的开源组件去实现吧!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.
