请问怎么从ip得到域名?

yythink 2003-09-18 09:36:35
在写一程序,想从ip地址得到他的域名?请问怎么实现?
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xizhouhawk 2003-11-03
  • 打赏
  • 举报
回复
我晕,别人要的是从IP到Domain的解析,看了上面的程序又有什么用呢?
greatzhum 2003-09-23
  • 打赏
  • 举报
回复
char host[256];
struct hostent * pHostent;
gethostname(host,sizeof(host));
pHostent = gethostbyname(host);
printf("My PC's name is:%s\n",pHostent->h_name);
printf("My PC's ip_addr in hex is:%x\n",*((struct in_addr *)pHostent->h_addr_list[0]));
printf("My PC's ip_addr is:%s\n",inet_ntoa(*((struct in_addr *)pHostent->h_addr_list[0])));
warton 2003-09-18
  • 打赏
  • 举报
回复
BOOL HostToIP(const String Name , String &IP)
{
WSAData wsdata;
char hostName[255];
hostent *hostEnt=NULL ;
char *addr;
WORD wVersionRequested = MAKEWORD( 2, 0 );
int err=WSAStartup (wVersionRequested, &wsdata);
if (err != 0)
return false;
gethostname(hostName, sizeof(hostName));
strcpy(hostName, Name.c_str());
hostEnt = gethostbyname(hostName);
if (hostEnt==NULL)
return false;
if (hostEnt->h_addr_list==NULL)
return false;
addr = *(hostEnt->h_addr_list);
if (addr==NULL)
return false;
IP.sprintf("%d.%d.%d.%d",addr[0],addr[1],addr[2],addr[3]);
WSACleanup();
return true;
}
warton 2003-09-18
  • 打赏
  • 举报
回复
AnsiString __fastcall TOperate::domainToIp(AnsiString &sTempDomain)
{
SOCKADDR_IN saddr;
WORD wVersionRequested;
WSADATA wsaData;
int nErrorNum;
wVersionRequested = MAKEWORD( 2, 2 );
nErrorNum = WSAStartup( wVersionRequested, &wsaData );
if ( nErrorNum != 0 )
{
ShowMessage("error!WSAStartup failed!\n");
return "";
}
saddr.sin_family = AF_INET;

hostent *pHostIp ;
pHostIp = gethostbyname(sTempDomain.c_str());
if(pHostIp == NULL)
{
MessageBox(Application->Handle,SysErrorMessage(GetLastError()).c_str(),"初始化错",16);
return "0.0.0.0";
}
WSACleanup();
return (AnsiString)inet_ntoa(*(LPIN_ADDR)*(pHostIp->h_addr_list)) ;

}

4,358

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧