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

Как определить, принадлежит ли IP-адрес стране

Как я могу определить страну, из которой исходит IP-адрес от использования С#. Мне нужно использовать это, чтобы проверить, происходят ли соединения из определенной страны.

4b9b3361

Ответ 1

Вы можете использовать эти данные SQL в своем проекте, чтобы определить, что: база данных геолокации IP-адресов. Загрузите эти данные и импортируйте их в свою базу данных, чтобы выполнять проверки локально.

Или вы можете использовать их бесплатный API, который возвращает XML, содержащий код страны и название страны. Вы должны сделать запрос на следующий URL-адрес с IP-адресом, который вы хотите проверить, как показано в этом примере:

http://ipinfodb.com/ip_query_country.php?ip=74.125.45.100

Возврат:

<Response>
<Ip>74.125.45.100</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
</Response>

Ответ 2

Просто простой API вызов, например. https://ipapi.co/8.8.8.8/country/

США

Здесь пример С# с рабочая скрипка:

using System;
using System.Net;
using System.IO;
using System.Text;


public class Program
{
    public static void Main()
    {

      ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

      HttpWebRequest request   = (HttpWebRequest)WebRequest.Create("https://ipapi.co/8.8.8.8/country/");
      HttpWebResponse response = (HttpWebResponse)request.GetResponse();

      var reader = new System.IO.StreamReader(response.GetResponseStream(), ASCIIEncoding.ASCII);
      Console.WriteLine(reader.ReadToEnd());

    }
}

Ответ 5

Если вы не хотите использовать API, например, hostip.info, тогда я предлагаю подписаться на maxmind и запустить локальную базу данных хоста.

Ответ 6

ip2cc - Поиск в стране и регионе России по IP-адресу Модуль Python с script для создания базы данных с актуальной официальные данные.

Эта утилита Python загружает (как можно чаще) обновленную информацию из Региональный интернет-реестр (, ripencc, apnic, lacnic, afrinic), так как показано в источнике:

url_template = 'ftp://ftp.ripe.net/pub/stats/%s/delegated-%s-latest'
sources = {}
for name in ('arin', 'ripencc', 'apnic', 'lacnic', 'afrinic'):
    sources[name] = url_template % (name, name)

После загрузки данных запросы могут быть отправлены в автономном режиме и очень быстро. Может быть легко изменен, чтобы напрямую ответить на исходный вопрос или использоваться из командной строки, чтобы вернуть страну, к которой принадлежит IP address.

Ответ 7

Другим сервисом, который вы можете использовать, является мой собственный http://ipinfo.io, который возвращает информацию о местоположении, организации и другую информацию:

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "phone": 650
}

Подробнее см. http://ipinfo.io/developers.