php 實現dns網域名稱查詢的方法詳解(圖文)

來源:互聯網
上載者:User
本文介紹下,用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調用萬網介面實現網域名稱查詢的功能

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.