Masalahnya tampaknya setidaknya dua kali lipat:
- Tanggapan WHOIS tidak memiliki skema yang sama, dan
- ada kelangkaan klien WHOIS yang dapat mengurai tanggapan WHOIS dan memetakan bidangnya (mis. menggunakan ontologi yang sesuai) ke dalam satu skema. Proyek Ruby Whois adalah upaya paling ekstensif yang pernah saya temukan. Ini bertujuan untuk menyediakan parser untuk masing-masing dari 500+ server WHOIS yang berbeda, dan pengembangnya berhak mendapatkan kredit yang sangat besar, tetapi ini masih dalam proses.
Ini adalah keadaan yang menyedihkan.
Solusi yang diusulkan IETF untuk masalah ini dan masalah WHOIS lainnya disebut Protokol Akses Data Registrasi (RDAP).
Mengutip RFC 7485, yang menjelaskan alasan RDAP:
Di ruang nama domain, ada lebih dari 200 kode negara
Domain Tingkat Atas (ccTLD) dan lebih dari 400 Domain Tingkat Atas generik
(gTLD) saat dokumen ini diterbitkan. Nama Domain Berbeda
Registri mungkin memiliki objek dan format tanggapan WHOIS yang berbeda. SEBUAH
pemahaman umum tentang semua format data ini sangat penting
buat satu model data untuk setiap objek.
(Tekankan pada saya.)
Sayangnya, sebagian besar (semua?) Pendaftar TLD menyediakan server WHOIS untuk subdomain mereka, hanya satu dua pendaftar TLD sejauh ini telah menerjunkan server RDAP secara formal untuk subdomain mereka:CZNIC untuk domain .cz, dan NIC Argentina untuk domain .ar. Jadi, ini bukan (belum) solusi yang dapat diterapkan secara umum di berbagai TLD. Kami hanya dapat berharap bahwa semua pendaftar lainnya akan bergegas dan memasukkan server RDAP.
Sedangkan untuk perangkat lunak, satu-satunya klien baris perintah RDAP untuk sistem POSIX yang saya temukan sejauh ini adalah nicinfo
.
Anda dapat menggunakan python
pip install whois
Misalnya,
#!/bin/python
import whois
print whois.whois('www.facebook.com')['city']