如何编程实通过IP地址得到它的广域网的域名. rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString GetAddrFromIp(CString ip){ WSADATA wsaData; LPHOSTENT lpHostEnt=NULL; DWORD dwIPAddr; CString str="Unknown address"; if(WSAStartup(WINSOCK_VERSION,&wsaData)) AfxMessageBox("Could not get IP of computer!"); else { dwIPAddr=inet_addr(ip); if(dwIPAddr==INADDR_NONE) AfxMessageBox("f"); else { lpHostEnt=gethostbyaddr((LPSTR)&dwIPAddr, PF_INET_LENGTH, PF_INET); if(lpHostEnt) str=(CString)lpHostEnt->h_name; else str="Unknown address"; } } WSACleanup(); return str;}上述函数也是用gethostbyaddr()获取域名,但经过测试只能获得局域网上主机名,不能得到广域网的。 cwanter(海阔天空) ,如你所说函数调用在那个地方出问题???请指教! gethostbyaddr()是通过netbios获得主机名,当然得不到域名了windows下好象没有逆向域名解析的调用要处理只能是在程序里你根据IP打开对应网站,分析对应的http头信息了 我查的好多的资料,也没有找到逆向域名解析的办法. windbells(风铃) :按你这么说,要想得到对应的域名就没那么简单了,根据IP, 来分析对应的http 头信息得到,那倒也不失为一种办法,只是这种做法是不是太复杂了?你有这方面的资料吗?或有例子,能发一份给我吗?mail: [email protected] 至少应该要走DNS协议吧?我觉得 看看whois在2000s下有一个whois服务器,用来解析这些信息 看看DNS的反向查找吧。不过偶没有做过~ mfc中combobox一个简单的小问题,下面有代码,怎么把combo中第一行不为空,也就是运行程序的时候第一行不为空 MFC 对话框上的按钮组合,给硬件发送指令 哈夫曼数据压缩存储办法 ToolTip的奇怪的问题 枚举本进程内所有线程,并获得handle,能想到几种方法? HELP!使用winInet进行HTTP上传下载时如何通过ISA SERVER的代理?(100分) 怎样得到CTreeCtrl树的每个节点 请帮我看看这段程序,参与有分! HTLP:com+图象 vc的控件面板上有个日期控件,如何使用? 在CListCtrl中当选中一条记录时如何让整个一行都高亮显示 又是闪烁,头大!
{
WSADATA wsaData;
LPHOSTENT lpHostEnt=NULL;
DWORD dwIPAddr;
CString str="Unknown address"; if(WSAStartup(WINSOCK_VERSION,&wsaData))
AfxMessageBox("Could not get IP of computer!");
else
{
dwIPAddr=inet_addr(ip);
if(dwIPAddr==INADDR_NONE)
AfxMessageBox("f");
else
{
lpHostEnt=gethostbyaddr((LPSTR)&dwIPAddr,
PF_INET_LENGTH,
PF_INET); if(lpHostEnt)
str=(CString)lpHostEnt->h_name;
else
str="Unknown address";
}
}
WSACleanup();
return str;
}上述函数也是用gethostbyaddr()获取域名,但经过测试只能获得局域网上主机名,不能得到广域网的。
cwanter(海阔天空) ,如你所说函数调用在那个地方出问题???请指教!
windows下好象没有逆向域名解析的调用
要处理只能是在程序里你根据IP打开对应网站,分析对应的http头信息了
windbells(风铃) :按你这么说,要想得到对应的域名就没那么简单了,
根据IP, 来分析对应的http 头信息得到,那倒也不失为一种办法,只是这种做法是不是太复杂了?
你有这方面的资料吗?或有例子,能发一份给我吗?
mail: [email protected]
在2000s下有一个whois服务器,用来解析这些信息