C# - ip2regionベースのオフラインIP位置情報ライブラリ

C# - ip2regionベースのオフラインIP位置情報ライブラリ

開発中、ログインユーザーのIPと位置情報を記録する必要があります。ip2regionを使用して実現できます。

最終更新 2022/07/02 10:01
黑哥聊dotNet
読了目安 1 分
カテゴリ
.NET
タグ
.NET C#

はじめに

開発において、ログインユーザーのIPアドレスや位置情報を記録する必要がある場合、ip2regionを使用することで実現できます!

例えば:

  • QQ、Giteeなどで異なる場所からログインした際に、アカウントが異なる場所でログインされたことを通知する
  • 出前アプリなどの位置情報が必要なソフトウェアで、GPSがオフになっている場合でもIPアドレスから位置情報を分析するなど

概要

ip2region - 精度99.9%のオフラインIPアドレス位置情報ライブラリで、0.0xミリ秒のクエリ速度、ip2region.dbデータベースはわずか数MB。Java、PHP、C、Python、Node.js、Go、C#などのクエリバインディングと、Binary、B-tree、メモリの3つのクエリアルゴリズムを提供します。各IPデータセグメントの形式は固定されています:

使用方法

  • NuGetパッケージのインストール
Install-Package IP2Region
  • ip2region.dbのダウンロード
git clone https://github.com/lionsoul2014/ip2region.git

その後、data/フォルダ内のip2region.dbをプロジェクトのresourcesフォルダにコピーします。

使用法は非常に簡単で、コードは1行です。

static void Main(string[] args)
{
  using (var _search = new DbSearcher(Environment.CurrentDirectory + @"\DB\ip2region.db"))
  {
   Console.WriteLine(_search.MemorySearch("183.129.193.166").Region);
   Console.Read();
  }
}

まとめ

この記事は思いつきで書いたものです。現在の仕事でこのような要件に遭遇したことはありませんが、知っておいて損はないと思います。コメントでの議論をお待ちしております!

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2026/04/22

各OSバージョンの.NETサポート状況(250707更新)

仮想マシンとテストマシンを使用して、各OSバージョンの.NETサポート状況を確認します。OSインストール後、対応するランタイムをインストールし、Stardustエージェントを実行できることを確認します(合格条件)。

続きを読む
同じカテゴリ / 同じタグ 2026/02/07

AOTの使用経験のまとめ

プロジェクト作成当初から、新機能を追加したり新しい構文を使用したりした場合には、すぐにAOT公開テストを実施するという良い習慣を身につけるべきです。

続きを読む