Самый надежный способ получить публичный IP-адрес клиента

Я изо всех сил пытался надежно получить общедоступный IP-адрес клиента в приложении asp.net 2.0.

Когда я использую эту службу http://jsonip.appspot.com/?callback=getip, я обнаружил, что он может случайным образом стать недоступным и будет через следующее сообщение, и это станет остановкой шоу для моего приложения.

"Превышение квоты

Для этого приложения временно превышена квота обслуживания. Пожалуйста, попробуйте позже."

Я попробовал другой альтернативный сервис здесь http://l2.io/ip.js?var=userip< /а>. Это также ненадежно, так как оно также может быть случайно недоступным.

Кто-нибудь здесь когда-либо предъявлял жесткие требования к общедоступному IP-адресу клиента и реализовывал надежное решение?


person StackTrace    schedule 03.02.2015    source источник
comment
Если вы хотите получить его в коде, это может помочь вам stackoverflow.com/questions/19285957/   -  person Mahesh    schedule 03.02.2015


Ответы (1)


Чтобы повысить надежность, вы можете использовать несколько API. Как только один из них не отвечает в течение заданного таймаута, вы переключаетесь на другой API. Вот обзор API-интерфейсов определения местоположения IP 2: https://github.com/tokkonopapa/WordPress-IP-Geo-Block/blob/6d883a71b7787e2c68e28f43f6afbaffdb27c679/README.md#attribution

Другой возможностью было бы сохранить локальную копию базы данных MaxMind GeoLite и получать результаты из этой базы данных вместо API. Дополнительную информацию об этом можно найти здесь: http://dev.maxmind.com/geoip/geoip2/downloadable/#MaxMind_APIs

И последнее, но не менее важное: вы можете настроить свой собственный API. Различные API, такие как freegeoip.net или мой собственный geoip.nekudo.com, имеют открытый исходный код, поэтому вы можете разместить свою собственную копию.

person nekudo    schedule 04.02.2015
comment
Спасибо за ссылку на гитхаб. Теперь об использовании нескольких API-интерфейсов. Я столкнулся с проблемой и разместил вопрос здесь, на SO, но пока на него нет ответа, или вы знаете о лучшей реализации. Это вопрос stackoverflow.com/questions/28235537/ - person StackTrace; 05.02.2015