Ana içeriğe atla

Net::Whois - Veri kazıyıcı, RDAP ve WHOIS aracılığıyla alan adı verilerini kontrol eder

Veri kazıyıcı incelemesi

Veri kazıyıcı incelemesi

Alan adı verileri, alan adı bölgesine bağlı olarak RDAP (HTTP, JSON) veya WHOIS (port 43) üzerinden toplanır. Her TLD için veri kazıyıcıda RDAP ve WHOIS sunucuları tanımlanmıştır; bölge için RDAP mevcutsa, sorgu öncelikle onun üzerinden yapılır, hata durumunda WHOIS'e geçilir.

Daha fazla bilgi: RDAP (İng.), WHOIS.

A-Parser işlevselliği, veri çekme ayarlarını ileride kullanmak üzere kaydetmenize (presetler), veri çekme zamanlaması oluşturmanıza ve çok daha fazlasına olanak tanır. Mümkün olan en fazla sonucu elde etmek için otomatik sorgu çoğaltma, dosyalardan alt sorgu ekleme, sayısal-alfabetik kombinasyonları ve listeleri tarama özelliklerini kullanabilirsiniz.

Sonuçların kaydedilmesi, sonuçlara ek mantık uygulamanıza ve verileri JSON, SQL ve CSV dahil olmak üzere çeşitli formatlarda çıktı almanıza olanak tanıyan yerleşik güçlü şablon motoru Template Toolkit sayesinde ihtiyacınız olan biçimde ve yapıda mümkündür.

Veri kazıyıcı kullanım örnekleri

Toplanan veriler

  • Alan adının kayıtlı olup olmadığı
  • Alan adı kayıt bitiş tarihi
  • Alan adının ne zaman kaydedildiği
  • Kaydın son güncelleme tarihi
  • RDAP sunucu URL'si — başarılı RDAP sorgusunda
  • Kullanılan WHOIS sunucusu — WHOIS sorgusunda; RDAP'ta genellikle boştur
  • Alan adının name server listesi
  • Alan adı kayıt kuruluşu (Registrar)
  • Mevcut alan adı durumu
  • Alan adının boşa çıkma tarihi
  • Ham yanıt — WHOIS metni veya RDAP JSON verisi

Özellikler

  • Alan adı bölgesine göre otomatik RDAP veya WHOIS seçimi (RDAP öncelikli)
  • Uluslararası alan adları ile çalışma desteği (IDN, örneğin яндекс.рф)

Kullanım seçenekleri

  • Boştaki veya yakında boşa çıkacak alan adlarının toplanması
  • NS sunucu listelerinin toplanması
  • Alan adı durumlarının alınması

Sorgular

Sorgu olarak aranacak sitenin alan adını belirtmeniz gerekir, örneğin:

a-parser.com  
yandex.ru
google.com
vk.com
facebook.com

Sonuç çıktı seçenekleri

A-Parser, yerleşik şablon motoru Template Toolkit sayesinde sonuçların esnek bir şekilde formatlanmasını destekler; bu da sonuçları serbest formda veya CSV ya da JSON gibi yapılandırılmış formatlarda çıktı almanıza olanak tanır.

Varsayılan çıktı

Sonuç formatı:

$query - registered: $registered, expire: $expire_date, creation: $creation_date

Sonuçta alan adı, kayıtlı olup olmadığı, kayıt bitiş tarihi ve kayıt tarihi görüntülenir:

facebook.com - registered: 1, expire: 30.03.2028, creation: 29.03.1997
a-parser.com - registered: 1, expire: 25.02.2022, creation: 25.02.2012
vk.com - registered: 1, expire: 23.06.2021, creation: 24.06.1997
yandex.ru - registered: 1, expire: 01.10.2021, creation: 23.09.1997
google.com - registered: 1, expire: 14.09.2028, creation: 15.09.1997

NS listesi çıktısı

Sonuç formatı:

$ns.format('$server\n')

Sonuç örneği:

demi.ns.cloudflare.com
vern.ns.cloudflare.com

Alan adı süre verilerinin CSV olarak çıktısı

Sonuç formatı:

[% tools.CSVline(query, registered, expire_date, creation_date, updated_date, free_date, whoisserver, rdapserver, registrar) %]

Sonuç örneği (.com alan adı, RDAP üzerinden yanıt — whoisserver boş, rdapserver dolu):

a-parser.com,1,25.02.2027,25.02.2012,10.02.2026,none,,https://rdap.verisign.com/com/v1/domain/a-parser.com,"Squarespace Domains II LLC"

NS listesinin CSV tablosuna çıktısı

Sonuç formatı:

[% FOREACH ns;
tools.CSVline(query, server);
END %]

Sonuç örneği:

a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com

Sonuçların JSON dökümü

Genel sonuç formatı:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.registered = p1.registered;
obj.expire_date = p1.expire_date;
obj.creation_date = p1.creation_date;
obj.updated_date = p1.updated_date;
obj.free_date = p1.free_date;
obj.whoisserver = p1.whoisserver;
obj.rdapserver = p1.rdapserver;
obj.registrar = p1.registrar;
obj.domains = [];

FOREACH item IN p1.ns;
obj.domains.push({
server = item.server
});
END;

obj.json %]

Başlangıç metni:

[

Bitiş metni:

]

Sonuç örneği (RDAP):

[{
"registered": 1,
"rdapserver":"https://rdap.verisign.com/com/v1/domain/a-parser.com",
"query":"a-parser.com",
"free_date":"none",
"domains":[
{
"server":"demi.ns.cloudflare.com"
},
{
"server":"vern.ns.cloudflare.com"
}
],
"registrar":"Squarespace Domains II LLC",
"expire_date":"25.02.2027",
"creation_date":"25.02.2012",
"whoisserver":"",
"updated_date":"10.02.2026"
}]
ipucu

"Prepend text" ve "Append text" seçeneklerinin Görev Düzenleyici'de görünmesi için "More options" kısmını aktif etmeniz gerekir.

Sonuçların işlenmesi

A-Parser, sonuçları doğrudan veri çekme sırasında işlemenize olanak tanır; bu bölümde Net::Whois veri kazıyıcı için en popüler kullanım durumlarını sunduk.

Alan adı kayıt kuruluşunu alma

WHOIS üzerinden gelen yanıtta $p1.data alanı metin içerir; RDAP'ta ise JSON içerir. Her iki durumda da kayıt kuruluşunu almak için iki adet Sonuç Oluşturucu ekleyin.

Bir Result Builders (Sonuç Oluşturucu) ekleyin ve açılır listeden kaynağı seçin: $p1.data. Türü seçin: RegEx Match. RegEx alanına şunu yazın: Registrar:\s*(.+) ve registrarwhois değişkenine kaydedin.

Tekrar bir Result Builders (Sonuç Oluşturucu) ekleyin ve açılır listeden kaynağı seçin: $p1.data. Türü seçin: RegEx Match. RegEx alanına şunu yazın: "entities"[\s\S]+?"vcardArray"[\s\S]+?"fn"[\s\S]+?"text"[\s\S]+?"([^"]+?)" ve registrarrdap değişkenine kaydedin.

Result format (Sonuç formatı) kısmına şunu ekleyin: [% IF registrarrdap == 'none' %]$query - $registrarwhois[% ELSE %]$query - $registrarrdap[% END %] — eğer RDAP ismi bulamazsa (registrarrdap değeri none ise), WHOIS'ten gelen değer yazdırılır, aksi takdirde RDAP'tan gelen değer yazdırılır.

Örneği indir

Örnek A-Parser nasıl aktarılır

eJyVVNtO20AQ/RVrFEQoJioPfbGEqkATiSpNKAH1wU6lVTxJt6x3ze46EEX5987Y
jh1TpKpP9lzPmdvuYIPWSaMhugzBC/fk7iw69A6ieAd5+Q8RWFxL562wEEIurKMg
cohhij6Kfvwy0pEhxZUolIdwB36bI4UZym5limSUKckrYzPhKWnpBhuhCnaLT4Lb
cdBg2FTkwdVVcKqNxtPgZNF7LtBug4ug1/i8MCbFjSbz0fsenIUdpl/InmjYLxYh
VNBuXPIg5F5+OaiLbIxzscEHw2ylwlY9JmkqMubbS4VHtg6qgvpnA//KGUSaSk/d
FKpC4Ca1qI9aPnO9K6EchsCUJbqxNRnl9FhmKOs40IuhqgsoR1EGf69imhyOuI4F
MUnfWqRHK7yxs5wJkX4HRg+VmuAGleuQ2F4XUqU00uGKgm7rwPddZn/l2Df1HUPR
4F8scWiylNL17FsblZqJWTd2JTPpSeFuTKGp9o8hPCHmh57B1FB3MmOxQakDa3Ba
2xw1L1k7smHeqjpVdMZypNyBM4VdEl5M+DRlwa2vl5k2C1/L5PyN4P6waVGSuA/9
wfnZwfhQBZDoDU+xu7Ww2If/BZQAak97hS6BmLCSZL44/5zAZilsOrRWbLv6le7K
vFpdTT/+mQD9nSXwT858R0SZ6C2NXsn1rL7pQxML/UDPxkzfmCxXyBPXhVK0sA7v
28sZunpBWWhn9zb4poQgHs1bQnSMcl/nFbfcSmL3iTlntGPHqHXKpVDq8X5ybOFA
500+0yNr3yx2eTIgLqpHbbCkW2wvs6TKRS7p3teGDpEk7kT9BDZP5Y7W+be7q7Qc
Vur2fwBx19yZ

Olası ayarlar

ParametreVarsayılan değerAçıklama
Recursive queryWHOIS'in genişletilmiş bir sürümünü almanızı sağlar
WHOIS serverKendi WHOIS sunucunuzu belirlemenizi sağlar
RDAP serverKendi RDAP sunucunuzu belirlemenizi sağlar
Checking by DNSAlan adına ait bir IP'nin varlığına dayanarak alan adının kayıtlı olup olmadığını kontrol etmenizi sağlar
Checking domains by DNS recordIP kontrolü yapar, ALLOCATED durumunu bulursa alan adını kayıtlı olarak tanımlar; seçenek kapalıysa IP kontrolü hiç yapılmaz
Force DNS check for not found domainsAlan adı kayıtlı değil olarak belirlenmişse zorunlu kontrol yapar