您的位置:首页 > 编程语言 > C语言/C++

VC++根据域名获取IP地址GetHostByName()

2013-08-10 11:06 597 查看
#include <stdio.h>
#include<winsock.h>

#pragma comment(lib,"ws2_32.lib")

int main ()
{
	WORD wVersionRequested;
	WSADATA wsaData;
	int err;

	wVersionRequested=MAKEWORD(1,1);

	err=WSAStartup(wVersionRequested,&wsaData);
	if(err!=0)
	{
		return 0;
	}
	if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1 )
	{
		WSACleanup();
		return 0;
	}

	HOSTENT* host_entry;
	int iStar = ::GetCurrentTime();
	char host_name[256] = "www.cctry.com";//注意这里不要加http://这些前缀
	host_entry = gethostbyname(host_name);
	printf("%s\n",host_name);
	if(host_entry != 0)
	{
		printf("解析IP地址:");
		printf("%d.%d.%d.%d",(host_entry->h_addr_list[0][0]&0x00ff),
			(host_entry->h_addr_list[0][1]&0x00ff),
			(host_entry->h_addr_list[0][2]&0x00ff),
			(host_entry->h_addr_list[0][3]&0x00ff));
	}
	int iEnd = ::GetCurrentTime();	//可以测算消耗时间
	printf("\nthe time passed:%d ms",(iEnd - iStar));
	WSACleanup();
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: