前段時間工作需求中要對域名解析,找了相關資料發現C語言有一個函數可以直接解析域名,下面寫的一個demo,只解析單個IP域名,直接上代碼,如下:
#include #include #include #include #include #include #include #include void codedns(char *str_url) { extern int h_errno; struct hostent *h; struct in_addr in; struct sockaddr_in addr_in; h = gethostbyname(str_url); if(h == NULL) { printf("%s\n",hstrerror(h_errno)); } else { memcpy(&addr_in.sin_addr.s_addr,h->h_addr,4); in.s_addr=addr_in.sin_addr.s_addr; printf("域名:%s\n",h->h_name); printf("type:%d\n",h->h_addrtype); printf("域名解析結果:%s\n",inet_ntoa(in)); } } int main(int argc,char **argv) { char hostname[40]; printf("input hostname:"); scanf("%s",hostname); getchar(); codedns(hostname); return 0; }