您的位置:首页 > 运维架构 > Linux

linux下gethostbyname通过域名获取IP的例子

2013-02-27 15:32 211 查看
#include <stdio.h>

#include <errno.h>

#include <netdb.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

int main(int argc, char *argv[])

{

int i;

struct hostent *he;

struct in_addr **addr_list;

if (argc != 2) {

fprintf(stderr,"usage: ghbn hostname\n");

return 1;

}

if ((he = gethostbyname(argv[1])) == NULL) { // get the host info

herror("gethostbyname");

return 2;

}

// print information about this host:

printf("Official name is: %s\n", he->h_name);

printf(" IP addresses: ");

addr_list = (struct in_addr **)he->h_addr_list;

for(i = 0; addr_list[i] != NULL; i++) {

printf("%s ", inet_ntoa(*addr_list[i]));

}

printf("\n");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: