[英]Get domain Name from IP
如何从IP地址获取域名。 可能吗? 我必须使用哪些功能?
enter code herestruct sockaddr_in saGNI;
char hostname[NI_MAXHOST];
char servInfo[NI_MAXSERV];
u_short port = 443;
saGNI.sin_family = AF_INET;
saGNI.sin_addr.s_addr = inet_addr("74.125.87.9");
saGNI.sin_port = htons(443);
// Call getnameinfo
int ok = getnameinfo((struct sockaddr *) &saGNI,
sizeof (struct sockaddr),
hostname,
NI_MAXHOST, servInfo, NI_MAXSERV, 0);
return hostname;
ok = 0,主机名= 74.125.87.9
我真的不知道。
您可以使用GetHostByAddr() (已弃用)或更新的GetNameInfo() 。 它们可与IPv4和IPv6一起使用。
我认为这是不可能的,因为多个域/子域可以指向同一IP地址。
例如,在我的站点上,我有一个专用IP,但是我使用具有该IP的同一服务器来托管多个网站以及子域,因此,如果您尝试获取域名,它将如何知道要使用哪个域返回?
如果我错了,请纠正我。
您可以使用以下链接 -内部的一些有用信息。 他们使用
int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen,
char *restrict node, socklen_t nodelen, char *restrict service,
socklen_t servicelen, int flags);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.