
Bu dersimizde, PHP domain bilgileri konusunu inceleyeceğiz. Yazılan domain adresi kayıtlı ise, bilgileri çekip ekrana yazdıracağız. Yazılan domaine ait kayıt bulunamamışsa, domain boşta uyarısı vereceğiz.
Whois Bilgilerini Alma
Bu işlemi sağlamak için bir fonksiyon oluşturacağız. Bu fonksiyonda, gelen domain’i doğrulama ve kontrol işlemini yapacağız. Artından cURL bağlantısıyla birlikte, whois sonucunu alacağız.
<?php function whois($site){ $site = trim($site); $parcala = parse_url($site); $domain = isset($parcala['host']) ? $parcala['host'] : ''; if(preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $yaz)){ $url = "https://reports.internic.net/cgi/whois?whois_nic=".$yaz['domain']."&type=domain"; $ch = curl_init($url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_HEADER,false); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_USERAGENT,"Googlebot/2.1 (+http://www.google.com/bot.html)"); curl_setopt($ch,CURLOPT_HTTPHEADER,array('Referer: https://www.internic.net/whois.html')); $sonuc = curl_exec($ch); curl_close($ch); preg_match("/pre>(.*?)</si",$sonuc,$cikti); return explode("\n",trim($cikti[1])); } } print_r( whois("https://ibrahimcevruk.com") ); ?>
Fonksiyonla birlikte, whois
fonksiyonuna gönderilen domain adresini parçalayarak host
adresini alıyoruz. Host adresiniyle birlikte, URL’i oluşturuyoruz. Bu URL ile birlikte cURL bağlantısını gerçekleştiriyoruz.
cURL bağlantısıyla birlikte dönen değerden, gerekli bilgileri alabilmek için /pre>(.*?)</si
filtresi uyguluyoruz. Bu filtreyle birlikte, istediğimiz sonuçları almış oluyoruz. Son olarak alınan değerleri \n
ile bölerek, her bir veriyi diziye atamış oluyoruz.
Array ( [0] => Domain Name: IBRAHIMCEVRUK.COM [1] => Registry Domain ID: 1676616430_DOMAIN_COM-VRSN [2] => Registrar WHOIS Server: whois.apiname.com [3] => Registrar URL: http://www.atakdomain.com [4] => Updated Date: 2022-09-18T04:20:26Z [5] => Creation Date: 2011-09-12T06:26:28Z [6] => Registry Expiry Date: 2023-09-12T06:26:28Z [7] => Registrar: Atak Domain Bilgi Teknolojileri A.S. [8] => Registrar IANA ID: 1601 [9] => Registrar Abuse Contact Email: [10] => Registrar Abuse Contact Phone: [11] => Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited [12] => Name Server: NS1.GUZELHOSTING.COM [13] => Name Server: NS11.GUZELHOSTING.COM [14] => Name Server: NS12.GUZELHOSTING.COM [15] => Name Server: NS2.GUZELHOSTING.COM [16] => DNSSEC: unsigned [17] => URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ [18] => >>> Last update of whois database: )
Hazırlamış olduğumuz fonksiyondan elde edeceğimiz sonuca yukarıdan ulaşabilirsiniz. Tüm verileri, dizide tuttuğumuz için verileri istediğiniz gibi işleyebilir ve kullanabilirsiniz. PHP Domain Bilgileri elde ettik.