Как запросить текущий IP-адрес iPhone? - PullRequest
12 голосов
/ 04 ноября 2008

Как запросить текущий IP-адрес iPhone?

Ответы [ 2 ]

13 голосов
/ 26 мая 2010

Если вы хотите получить внешний IP-адрес (тот, который используется для подключения извне локальной сети), вам нужно запросить сервер во внешней сети. Быстрый поиск дал следующее: http://checkip.dyndns.org, http://www.whatismyip.com. Загрузить страницу довольно просто, например, с помощью.

[NSData dataWithContentsOfURL:url]

и выполните некоторые манипуляции со строками для получения IP-адреса.

Если вам нужен внутренний IP-адрес (тот, который назначен, например, DHCP для вашего устройства), вы обычно можете определить имя хоста устройства, т.е. /* Returns the local IP, or NULL on failure. */ const char* GetLocalIP() { char buf[256]; if(gethostname(buf,sizeof(buf))) return NULL; struct hostent* he = gethostbyname(buf); if(!he) return NULL; for(int i=0; he->h_addr_list[i]; i++) { char* ip = inet_ntoa(*(struct in_addr*)he->h_addr_list[i]); if(ip != (char*)-1) return ip; } return NULL; }

4 голосов
/ 26 мая 2010

Вы можете попробовать воспользоваться аналогичным сервисом: Whatismyip и захватить строку:)

Благодарим Эрика Садуна за кулинарную разработку iPhone Разработчик, 2-е издание, стр. 555.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...