1 /* 2 * 功能: 由域名得到 IP 地址 3 * 入口参数: pDomain 域名,如: www.163.com 4 * pIPBuff 保存解析后的 IP 5 * 出口参数: pIPBuff 保存解析后的 IP 6 * 返回值: TRUE:成功;FALSE:失败 7 */ 8 BOOL CGetIPFromURLDlg::DomainToIP(char *pDomain,char *pIPBuff) 9 { 10 unsigned long lgIP = inet_addr(pDomain); 11 12 WSADATA wsaData; 13 WSAStartup(MAKEWORD(1,1),&wsaData); 14 15 //输入的IP字符串 16 if(lgIP != INADDR_NONE) 17 { 18 memcpy(pIPBuff,pDomain,strlen(pDomain)); 19 WSACleanup(); 20 21 return TRUE; 22 } 23 24 HOSTENT *host_entry; 25 host_entry = gethostbyname(pDomain); 26 27 if(host_entry != 0) 28 { 29 sprintf(pIPBuff,"%d.%d.%d.%d", 30 (host_entry->h_addr_list[0][0] & 0xff), 31 (host_entry->h_addr_list[0][1] & 0xff), 32 (host_entry->h_addr_list[0][2] & 0xff), 33 (host_entry->h_addr_list[0][3] & 0xff)); 34 } 35 else 36 { 37 WSACleanup(); 38 return FALSE; 39 } 40 41 WSACleanup(); 42 return TRUE; 43 }