时间:2021-05-20
通过调用gethostbyname 系统函数进行解析
void GetHostNamebyIp(char* hostName){ if(NULL == hostName) { return; } int WSA_return = 0; WSADATA WSAData; HOSTENT *host_entry; char szIP[1024] = {0}; AfxMessageBox(hostName); WSA_return=WSAStartup(0x0202,&WSAData); if(0 == WSA_return) { host_entry = gethostbyname(hostName); if(0 != host_entry) { char** ipAddress = host_entry->h_addr_list; for(; *ipAddress != NULL; ipAddress++) { strcpy(szIP,inet_ntoa(*(LPIN_ADDR)*(ipAddress))); WriteIPFile("ip.txt",hostName ,szIP); } } }}将解析出来的ip地址写入到文件中
//写文件,第一个参数文件名,第二个参数hostName,第三个参数文件内容void WriteIPFile(char* FileName, char* hostName, char* text){ HANDLE hFILE=CreateFile(FileName,GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if(hFILE==INVALID_HANDLE_VALUE) { //文件创建失败 return; } if(SetFilePointer(hFILE,0,NULL,FILE_END)==-1) { printf("SetFilePointer error\n"); return ; } DWORD dwhostWrite; if(!WriteFile(hFILE,hostName,strlen(hostName),&dwhostWrite,NULL)) { printf("WriteFile error\n"); return ; } if(!WriteFile(hFILE,"\r\n",2,&dwhostWrite,NULL)) { printf("WriteFile error\n"); return ; } DWORD dwWrite; if(!WriteFile(hFILE,text,strlen(text),&dwWrite,NULL)) { printf("WriteFile error\n"); return ; } if(!WriteFile(hFILE,"\r\n",2,&dwWrite,NULL)) { printf("WriteFile error\n"); return ; } CloseHandle(hFILE);}到此这篇关于VC实现将网址解析出所有ip地址的文章就介绍到这了,更多相关vc实现网址解析ip地址内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本地连接的IP地址的设置。DNS解析问题,如果将网关设置成DNS地址,这是DNSProxy,并非真实的DNS地址,就可能会导致地址解析出错。 解决方法:要解决
本文实例讲述了vc获取计算机名和ip地址的方法。分享给大家供大家参考。具体实现方法如下:#include#include#pragmacomment(lib,"
outlook无法连接到服务器的原因是: 1、收发邮件服务器地址设置有误或所处网络环境无法解析出服务器的IP地址。建议将Ping的IP地址输入客户端软件的相应
私人dns的意思就是个人域名解析系统,域名解析系统的作用是把网址转换为数字iP地址,网络间的联系用网址是不能直接联系的,而要经过域名解析系统转化为数字IP才可以
我们知道,当我们在浏览器里面输入网址时,DNS服务器会自动把它解析为IP地址,浏览器实际上查找的是IP地址而不是网址。那么IP地址是如何转换为第二层物理地址(即