Подтвердить что ты не робот

Хороший API геолокации по IP

Я ищу хороший бесплатный API, который вернет мне хотя бы страну IP. Я нашел пару, которые будут работать, но они кажутся ненадежными. Основная проблема заключается в том, что я должен сделать около 50000-100000 запросов в течение дня.

Есть ли хороший script, который я могу установить на свой сервер и использовать его вместо API? Спасибо вам

4b9b3361

Ответ 1

Вы можете попытаться использовать IPInfoDB, поскольку я нашел его полезным.

API возвращает местоположение IP-адреса (страна, регион, город, zipcode, широта, долгота) и связанный часовой пояс в XML формат. Ниже вы можете найти примеры кода с PHP, Javascript, Ruby, Python и ASP.


Есть ли хороший script, который я могу установить на свой сервер и использовать его вместо API?

Пример ASP с одного и того же сайта

<%
    'Get visitor IP
    Dim UserIPAddress
    UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If UserIPAddress = "" Then
     UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
    End If
%>
<%
    'Set API key
    api_key = "<your_api_key>"
%>
<%
    'Get info and print
    myxml="http://api.ipinfodb.com/v3/ip-city/?key="&api_key&"&ip=" &UserIPAddress&"&format=xml"
    set xml = server.CreateObject("MSXML2.DOMDocument.6.0")
    xml.async = "false"
    xml.resolveExternals = "false"
    xml.setProperty "ServerHTTPRequest", true
    xml.load(myxml)
    response.write "<p><strong>First result</strong><br />"
    for i=0 to 10
        response.write xml.documentElement.childNodes(i).nodename & "  :  "
        response.write xml.documentElement.childNodes(i).text & "<br/>"
    NEXT
    response.write "</p>"
%> 

Также проверьте Maxmind

Ответ 2

Вы можете проверить MaxMind для баз данных geoIP:\Они предлагают обнаружение IP-to-geo для разного уровня детализации, например. IP-to-country, IP-to-locality и т.д. Вы можете использовать их через свой API, или вы можете загрузить всю базу данных сопоставлений IP-to-geo.

Самый простой и дешевый способ - купить базу данных GeoIP, http://www.maxmind.com/en/country, которую вы сможете сохранить как файл локально, который затем может быть запрошен с использованием любого программного пакета, который нравится вашему языку.

Вот пример gem в Ruby, который считывает данные GeoIP: https://github.com/cjheath/geoip