Как получить IP-адрес от имени хоста на iOS?Как получить IP-адрес от имени хоста на iOS
Я пробовал Google, но ничего не нашел.
Как получить IP-адрес от имени хоста на iOS?Как получить IP-адрес от имени хоста на iOS
Я пробовал Google, но ничего не нашел.
Следующий код работает как с 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);
Получил эту ошибку: определение «struct addrinfo» должно быть импортировано из модуля «Darwin.POSIX.netdb», прежде чем понадобится – Hedam
@RoboForm: вам нужно добавить некоторые файлы include. Если вы наберете «man getaddrinfo» в командной строке, вы увидите, какие файлы требуются. –
Нет, я хочу IP-адрес имени хоста. Fx. Я даю приложению имя хоста Google.com, и он возвращает ip. – Hedam
Не можете ли вы просто ping имя хоста и захватить отвечающий IP? – Luke
Хорошо, тогда [этот] (http://stackoverflow.com/questions/9567521/obiving-a-server-ip-address-from-hostname) –