失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > https网络编程——DNS域名解析获取IP地址

https网络编程——DNS域名解析获取IP地址

时间:2020-08-07 04:42:27

相关推荐

https网络编程——DNS域名解析获取IP地址

参考:DNS域名解析

地址:https://qingmu./article/details/115825036?spm=1001..3001.5502

1、原理

我在在通过域名解析获取IP的过程中一般使用的是DNS域名解析。

DNS协议是一种应用层协议,他是基于UDP来实现的。

2、代码实现

#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>extern int h_errno;int main(int argc, char **argv){char *ptr, **pptr;char str[INET_ADDRSTRLEN];struct hostent *hptr; //while (--argc> 0) {ptr = *++argv; //传入的域名if ( (hptr = gethostbyname (ptr) ) == NULL) //完成域名解析{printf("gethostbyname error for host: %s: %s",ptr, hstrerror (h_errno) );continue;}printf ("official hostname: %s\n", hptr->h_name);for (pptr=hptr->h_aliases; *pptr!= NULL; pptr++)printf ("\talias: %s\n", *pptr);switch (hptr->h_addrtype) {case AF_INET:pptr = hptr->h_addr_list;for ( ; *pptr != NULL; pptr++)printf ("\taddress: %s\n",inet_ntop (hptr->h_addrtype, *pptr, str, sizeof (str))); //hptr->h_addrtype我们获取的IP地址break;default:printf("unknown address type");break;}}exit(0);}

3、测试

如果觉得《https网络编程——DNS域名解析获取IP地址》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。