本文介紹下,用php實現的一段查詢dns網域名稱資訊的代碼,有需要的朋友參考下。 在php中與網域名稱相關的操作,一般會用到二個函數,它們分別是:gethostbyname() 與gethostbyaddr()。 一,IP地址查詢gethostbyname()函數,可以用來尋找一個給定的網域名稱的IP地址。gethostbyname()返回對應於給定主機名稱的包含主機名稱字和地址資訊的hostent結構指標。 string gethostbyname(string hostname)參數:主機名稱,不需要http://,例如:bbs.it-home.org。本函數可返回某個機器名稱 (Domain Name) 的 IP 網址 (IP Address)。若執行失敗,則返回原來的機器名稱。 二,網域名稱查詢 gethostbyaddr 返回機器名稱。 文法: string gethostbyaddr(string ip_address); 傳回值: 字串 函數種類: 網路系統 內容說明 本函數可返回某個 IP 網址的機器名稱 (Domain Name)。若執行失敗,則返回原來的 IP 網址。 三,執行個體以下代碼實現網域名稱IP地址與網域名稱查詢,是個不錯的例子。 * lookup failed *'; // Get submitted host/domain name $dn = isset($_REQUEST['dn']) ? $_REQUEST['dn'] : ''; if ($dn == $prompt_dn) { $dn = ''; } // Get submitted ip address $ip = isset($_REQUEST['ip']) ? $_REQUEST['ip'] : ''; if ($ip == $prompt_ip) { $ip = ''; } // Check if host/domain name specified if ($dn) { // Domain name specified; IP address lookup request if ($dn == 'me') { $ip = $_SERVER['REMOTE_ADDR']; } else { // Lookup IP address by domain/host name $ip = @gethostbyname($dn); if ($ip == $dn) { $ip = $lookupfail; } } $message = $prompt_dn.' '.$dn.' :: '.$prompt_ip.' '.$ip; } // Check if IP address specified else if ($ip) { // Lookup domain/host name by IP address $dn = @gethostbyaddr($ip); // Check lookup if ($dn == $ip) { // IP address invalid or domain name not found $dn = $lookupfail; } $message = $prompt_ip.' '.$ip.' :: '.$prompt_dn.' '.$dn; } else { $message = $prompt_dn.' '.$_SERVER['HTTP_HOST'] .' :: '.$prompt_ip.' '.$_SERVER['SERVER_ADDR']; } ?> <?php echo $pagetitle;?> Copyright © 2003- by 程式員之家,歡迎您! 以上代碼,圖示:您可能感興趣的文章:PHP擷取網域名稱的幾個全域變數php 從url中擷取網域名稱的執行個體代碼php擷取網站的來路網域名稱的方法探討:PHP擷取網域名稱及網域名稱IP地址的方法php擷取URL中domain網域名稱的代碼一例PHP正則匹配擷取URL中網域名稱的代碼PHP擷取當前網址及網域名稱的代碼phpRegex匹配URL中的網域名稱PHP調用萬網介面實現網域名稱查詢的功能 |