PHP ile Whois Sorgulaması Nasıl Yapılır?
Merhaba PT.
PHP ile whois sorgulaması yapmaya çalışıyorum. Bir türlü aradığım çözümü bulamadım.
Yapmak istediğim şey com, com.tr, net, net.tr, org, org.tr
alan adı sorgulaması yapmak. Sorgulama yaptığım alan adının boşta veya satın alınmış olduğunu tespit edebilmek yeterli olacaktır.
DNS sorgulaması gibi çözümler var, fakat yanlış sonuç veriyor. Alan adı alınmış, ancak kullanılmıyorsa DNS sorgusunda boşta olarak sonuç veriyor.
phpWhois eklentisi .tr uzantılarda şaşırabiliyor olsa da diğer alan adlarında güzel sonuç veriyordu. Ancak şuan oda çalışmıyor.
Yardımlarınızı bekliyorum. :)
şu şekilde deneyebilirsin, ancak .tr domainleri için bir whois sunucusu bulamadım açıkçası, o konuda bir şey söyleyemeyeceğim.
class WhoisChecker
{
private $whois_servers = [
"com" => "whois.verisign-grs.com",
"net" => "whois.verisign-grs.com",
"org" => "whois.pir.org",
"info" => "whois.afilias.net",
"biz" => "whois.biz",
"us" => "whois.nic.us",
// Diğer TLD'ler buraya eklenebilir...
];
public function whoisQuery($domain)
{
// Domain'in TLD'sini al
$tld = substr($domain, strrpos($domain, '.') + 1);
// TLD için WHOIS sunucusu bul
if (!isset($this->whois_servers[$tld])) {
throw new Exception("WHOIS sunucusu bu TLD için tanımlanmamış: " . $tld);
}
$whois_server = $this->whois_servers[$tld];
// Soketi aç
$fp = fsockopen($whois_server, 43);
if (!$fp) {
throw new Exception("Soket bağlantısı açılamadı.");
}
// Alan adını sorgula
fwrite($fp, $domain . "\r\n");
// Yanıtı al
$response = '';
while (!feof($fp)) {
$response .= fgets($fp, 128);
}
// Soketi kapat
fclose($fp);
// Yanıtı döndür
return $response;
}
}
// Kullanım örneği:
$whois = new WhoisChecker();
$response = $whois->whoisQuery('prototurk.com');
echo $response;