这个问题在这里已经有了答案:
Obtaining a server IP address from hostname
(3 个回答)
8年前关闭。
如何从 iOS 上的给定主机名获取 IP?
我试过谷歌但一无所获。
最佳答案
以下代码适用于 IPv4 和 IPv6。它使用 getaddrinfo()
到
检索主机的 IP 地址列表,以及 getnameinfo()
转换
每个 IP 地址成一个字符串。 (为简洁起见,省略了错误检查。)
struct addrinfo hints;
memset(&hints, 0, sizeof(hints));
hints.ai_family = PF_UNSPEC; // PF_INET if you want only IPv4 addresses
hints.ai_protocol = IPPROTO_TCP;
struct addrinfo *addrs, *addr;
getaddrinfo("www.google.com", NULL, &hints, &addrs);
for (addr = addrs; addr; addr = addr->ai_next) {
char host[NI_MAXHOST];
getnameinfo(addr->ai_addr, addr->ai_addrlen, host, sizeof(host), NULL, 0, NI_NUMERICHOST);
printf("%s\n", host);
}
freeaddrinfo(addrs);
关于ios - 如何在 iOS 上从主机名获取 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18344602/