博客專欄

        EEPW首頁 > 博客 > Linux下用C實現(xiàn)域名到IP的轉(zhuǎn)換(域名解析)

        Linux下用C實現(xiàn)域名到IP的轉(zhuǎn)換(域名解析)

        發(fā)布人:電子禪石 時間:2020-05-20 來源:工程師 發(fā)布文章

        只需調(diào)用一個函數(shù)即可gethostbyname(),gethostbyname()返回對應(yīng)于給定主機(jī)名的包含主機(jī)名字和地址信息的hostent結(jié)構(gòu)指針。結(jié)構(gòu)的聲明與gethostaddr()中一致。下面是函數(shù)原型:

        Windows平臺下

        #include <winsock2.h>

        struct hostent FAR *PASCAL FAR gethostbyname(const char

        FAR * name);

        name:指向主機(jī)名的指針。

        Linux平臺下

        #include <netdb.h>

        struct hostent *gethostbyname(const char * hostname);

        返回:非空指針——成功,空指針——出錯,同時設(shè)置h_errno

        C語言程序?qū)崿F(xiàn):

         
        #include <stdio.h>
        #include <stdlib.h>
        #include <errno.h>
        #include <netdb.h>
        #include <sys/types.h>
        #include <netinet/in.h>int main(int argc, char *argv[])
        { struct hostent *h; char hostname[40];
         printf("請輸入域名\n");
         scanf("%s",hostname);
         getchar(); if((h=gethostbyname(hostname))==NULL)
         {
             fprintf(stderr,"不能得到IP\n");
             exit(1);
         }
         printf("HostName :%s\n",h->h_name);
         printf("IP Address :%s\n",inet_ntoa(*((struct in_addr *)h->h_addr)));  return EXIT_SUCCESS;
        }


        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞:

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 岗巴县| 邵阳县| 深水埗区| 秭归县| 临安市| 仙游县| 卓尼县| 盘山县| 哈巴河县| 舟山市| 青铜峡市| 招远市| 盐源县| 北京市| 巴彦淖尔市| 曲麻莱县| 综艺| 武乡县| 西乌珠穆沁旗| 广水市| 驻马店市| 沭阳县| 阿鲁科尔沁旗| 巫溪县| 神农架林区| 慈溪市| 西吉县| 武强县| 阜新| 宁德市| 习水县| 太仓市| 神木县| 青岛市| 泾川县| 朝阳区| 孟津县| 道孚县| 富锦市| 昌都县| 耿马|