ip2region_plus 1.0.2 copy "ip2region_plus: ^1.0.2" to clipboard
ip2region_plus: ^1.0.2 copied to clipboard

Ip2region_plus is a offline IP address manager framework and locator, support billions of data segments, ten microsecond searching performance.

pub package

Ip2region_plus #

ip2region_plus - is a dart language implementation. It can be used in dart or flutter。

ip2region - is a offline IP address location library and IP location data management framework, 10 microsecond level query efficiency, provides a variety of mainstream programming language xdb data generation and query client implementation. Other language versions please see lionsoul2014/ip2region

English | 中文

Install #

This extension does not provide ip2region.xdb file, please download it from ip2region.xdb here. How to update also refer to this library readme.

Useage #

File-based querying #

import 'package:ip2region_plus/ip2region_plus.dart';

void main() {
  String dbFile = "ip2region.xdb";
  IP2RegionPlus searcher;
  try {
    searcher = IP2RegionPlus.newWithFileOnly(dbFile);
    Map region = searcher.search('8.8.8.8');
    print(region);
  } catch (e) {
    print("failed to create searcher with '$dbFile': $e");
    return;
  }
}

Cache VectorIndex index #

import 'package:ip2region_plus/ip2region_plus.dart';

void main() {
  String dbFile = "ip2region.xdb";
  IP2RegionPlus searcher;
  try {
    var vIndex = IP2RegionPlus.loadVectorIndexFromFile(dbFile);
    searcher = IP2RegionPlus.newWithVectorIndex(dbFile, vIndex);
    Map region = searcher.search('8.8.8.132');
    print(region);
  } catch (e) {
    print("failed to create searcher with '$dbFile': $e");
    return;
  }
}

Cache the entire xdb data #

import 'package:ip2region_plus/ip2region_plus.dart';

void main() {
  String dbFile = "ip2region.xdb";
  IP2RegionPlus searcher;
  var cBuff = IP2RegionPlus.loadContentFromFile(dbFile);
  if (cBuff == null) {
    print("failed to load content buffer from $dbFile");
    return;
  }
  try {
    searcher = IP2RegionPlus.newWithBuffer(cBuff);
    Map region = searcher.search('8.8.8.132');
    print(region);
  } catch (e) {
    print(e);
    return;
  }
}

Example #

dart run example/main.dart
#{region: 美国|0|0|0|Level3, ioCount: 8, took: 2392}
2
likes
140
pub points
11%
popularity

Publisher

verified publisherdev.sumsg.com

Ip2region_plus is a offline IP address manager framework and locator, support billions of data segments, ten microsecond searching performance.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

More

Packages that depend on ip2region_plus