Nếu bạn thường xuyên mua tên miền thì ắt hẳn là thường xuyên phải check xem liệu tên miền đó đã được mua hay chưa, hoặc đơn giản là muốn biết thông tin người sở hữu tên miền đó. Hôm nay, trong bài viết này, mình sẽ chia sẻ cho các bạn một đoạn code bằng PHP giúp các bạn tạo chức năng này mà không cần phải thông qua bất kì trang web nào.

học PHP

PHP

Các bạn copy đoạn code sau đây :

function whois_query($domain) {
  
    // fix the domain name:
    $domain = strtolower(trim($domain));
    $domain = preg_replace('/^http:\/\//i', '', $domain);
    $domain = preg_replace('/^www\./i', '', $domain);
    $domain = explode('/', $domain);
    $domain = trim($domain[0]);
  
    // split the TLD from domain name
    $_domain = explode('.', $domain);
    $lst = count($_domain)-1;
    $ext = $_domain[$lst];
  
    // You find resources and lists
    // like these on wikipedia:
    //
    //
    $servers = array(
        "biz" => "whois.neulevel.biz",
        "com" => "whois.internic.net",
        "us" => "whois.nic.us",
        "coop" => "whois.nic.coop",
        "info" => "whois.nic.info",
        "name" => "whois.nic.name",
        "net" => "whois.internic.net",
        "gov" => "whois.nic.gov",
        "edu" => "whois.internic.net",
        "mil" => "rs.internic.net",
        "int" => "whois.iana.org",
        "ac" => "whois.nic.ac",
        "ae" => "whois.uaenic.ae",
        "at" => "whois.ripe.net",
        "au" => "whois.aunic.net",
        "be" => "whois.dns.be",
        "bg" => "whois.ripe.net",
        "br" => "whois.registro.br",
        "bz" => "whois.belizenic.bz",
        "ca" => "whois.cira.ca",
        "cc" => "whois.nic.cc",
        "ch" => "whois.nic.ch",
        "cl" => "whois.nic.cl",
        "cn" => "whois.cnnic.net.cn",
        "cz" => "whois.nic.cz",
        "de" => "whois.nic.de",
        "fr" => "whois.nic.fr",
        "hu" => "whois.nic.hu",
        "ie" => "whois.domainregistry.ie",
        "il" => "whois.isoc.org.il",
        "in" => "whois.ncst.ernet.in",
        "ir" => "whois.nic.ir",
        "mc" => "whois.ripe.net",
        "to" => "whois.tonic.to",
        "tv" => "whois.tv",
        "ru" => "whois.ripn.net",
        "org" => "whois.pir.org",
        "aero" => "whois.information.aero",
        "nl" => "whois.domain-registry.nl"
    );
  
    if (!isset($servers[$ext])){
        die('Error: No matching nic server found!');
    }
  
    $nic_server = $servers[$ext];
  
    $output = '';
  
    // connect to whois server:
    if ($conn = fsockopen ($nic_server, 43)) {
        fputs($conn, $domain."\r\n");
        while(!feof($conn)) {
            $output .= fgets($conn,128);
        }
        fclose($conn);
    }
    else { die('Error: Could not connect to ' . $nic_server . '!'); }
  
    return $output;
}

Một vài ví dụ sử dụng function bên trên :

print whois_query('jonasjohn.de');
print whois_query('example.com');
print whois_query('example.org');

Mình hy vọng qua bài viết này , các bạn sẽ có thêm một kinh nghiệp trong quá trình học lập trình với ngôn ngữ PHP.

Chúc các bạn thành công !

ĐỂ LẠI PHẢN HỒI CỦA BẠN TẠI ĐÂY

Phản hồi về bài viết này

1 COMMENT

  1. Wow that was strange. I just wrote an very long comment but after I clicked submit my comment
    didn’t appear. Grrrr… well I’m not writing all that over
    again. Anyways, just wanted to say superb blog!

LEAVE A REPLY


*