Quickstart#

Dependencies#

This module requires API key to function. You may sign up for a free API key at https://www.ip2location.io/pricing.

Installation#

Install this package using the command below:

dart pub add ip2location_io

Sample Codes#

Lookup IP Address Geolocation Data#

You can make a geolocation data lookup for an IP address as below:

import 'package:ip2location_io/ip_geolocation.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = 'YOUR_API_KEY';
  final config = Configuration(apiKey);
  final geo = IPGeolocation(config);

  try {
    final result = await geo.lookUp('8.8.8.8');
    print(result);
  } catch (e) {
    print('Error: $e');
  }
}

Lookup Domain Information#

You can lookup domain information as below:

import 'package:ip2location_io/domain_whois.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = 'YOUR_API_KEY';
  final config = Configuration(apiKey);
  final who = DomainWhois(config);

  try {
    final result = await who.lookUp('locaproxy.com');
    print(result);
  } catch (e) {
    print('Error: $e');
  }
}

Convert Normal Text to Punycode#

You can convert an international domain name to Punycode as below:

import 'package:ip2location_io/domain_whois.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = '';
  final config = Configuration(apiKey);
  final who = DomainWhois(config);

  try {
    print(who.toPunycode('täst.de'));
  } catch (e) {
    print('Error: $e');
  }
}

Convert Punycode to Normal Text#

You can convert a Punycode to international domain name as below:

import 'package:ip2location_io/domain_whois.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = '';
  final config = Configuration(apiKey);
  final who = DomainWhois(config);

  try {
    print(who.toNormalText('xn--tst-qla.de'));
  } catch (e) {
    print('Error: $e');
  }
}

Get Domain Name#

You can extract the domain name from an url as below:

import 'package:ip2location_io/domain_whois.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = '';
  final config = Configuration(apiKey);
  final who = DomainWhois(config);

  try {
    print(who.toDomainName('https://www.example.com/exe'));
  } catch (e) {
    print('Error: $e');
  }
}

Get Domain Extension#

You can extract the domain extension from a domain name or url as below:

import 'package:ip2location_io/domain_whois.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = '';
  final config = Configuration(apiKey);
  final who = DomainWhois(config);

  try {
    print(who.toDomainExtension('example.com'));
  } catch (e) {
    print('Error: $e');
  }
}

Lookup IP Address Hosted Domains Data#

You can make a hosted domains data lookup for an IP address as below:

import 'package:ip2location_io/hosted_domain.dart';
import 'package:ip2location_io/configuration.dart';

Future<void> main() async {
  var apiKey = 'YOUR_API_KEY';
  final config = Configuration(apiKey);
  final hd = HostedDomain(config);

  try {
    final result = await hd.lookUp('8.8.8.8');
    print(result);
  } catch (e) {
    print('Error: $e');
  }
}