GitHub 代码仓sumanrajpathak/public_ip_address

公网IP地址

sumanrajpathak/public_ip_address open-source repository details.

公网IP地址 项目封面
星标
20
复刻
3
最近推送(UTC)
2026年7月3日
项目状态
未归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

Public IP Address

pub package

package publisher

This package allows you to obtain your public IP address and many other information about it

Features

You can get the public IP address of the user or many other information about a specific IP address, such as :

  • Name of the country
  • Time Zone
  • Latitude
  • Longitude
  • Name of the City
  • Name of the Region
  • Region Code
  • Postal Code
  • The organization or Internet service provider
  • Continent Code
  • Two-letter ISO 3166-1 alpha-2 country code
  • Three-letter ISO 3166-1 alpha-3 country code
  • The UTC time offset
  • The Asn

Getting started

Add this to your dependencies :

dependencies:

  public_ip_address: ^1.2.2

And import :

import 'package:public_ip_address/public_ip_address.dart';

Usage

To get your ip address, just use IpAddress().getIp():

import 'package:public_ip_address/public_ip_address.dart';

void main() async {
  IpAddress _ipAddress = IpAddress();
  var ip = await _ipAddress.getIp();
  print(ip);
  // Sample Output : 208.67.222.222
}

Don't forget to await it because it's a Future function.

Others functionalities

  • To get all data about the user's IP address , use getAllData() :
Map allData = await IpAddress().getAllData();

For a specific ip , use getAllDataFor('specific_ip') method instead .

  • To get only the user's IP address, use : IpAddress().getIp():
String ip = await IpAddress().getIp();
// Sample Output : "208.67.222.222"
  • To get the Ipv4 (Ip version 4) address value of the user's IP , use : IpAddress().getIpv4():
String ipv4 = await IpAddress().getIpv4();
// Sample Output : "208.67.222.222"
  • To get the Ipv6 (Ip version 6) address value of the user's IP , use : IpAddress().getIpv6():
String ipv6 = await IpAddress().getIpv6();
// Sample Output : "2a05:dfc7:5::53"
  • To get the Continent Code of the user's IP , use : IpAddress().getContinentCode():
String continentCode = await IpAddress().getContinentCode();
// Sample Output : "NA"

For a specific ip , use getContinentCodeFor('specific_ip') method instead .

  • To get the Country of the user's IP , use : IpAddress().getCountry():
String country = await IpAddress().getCountry();
// Sample Output : "United States"

For a specific ip , use getCountryFor('specific_ip') method instead .

  • To get the Two-letter ISO 3166-1 alpha-2 country code of the user's IP , use : IpAddress().getCountryCode():
String countryCode = await IpAddress().getCountryCode();
// Sample Output : "US"

For a specific ip , use getCountryCodeFor('specific_ip') method instead .

  • To get the Three-letter ISO 3166-1 alpha-3 country code of the user's IP , use : IpAddress().getCountryCode3():
String countryCode3 = await IpAddress().getCountryCode3();
// Sample Output : "USA"

For a specific ip , use getCountryCode3For('specific_ip') method instead .

  • To get the Latitude of the user's IP , use : IpAddress().getLatitude():
double latitude = await IpAddress().getLatitude();
// Sample Output : 37.7697

For a specific ip , use getLatitudeFor('specific_ip') method instead .

  • To get the Longitude of the user's IP , use : IpAddress.getLongitude():
double longitude = await IpAddress().getLongitude();
// Sample Output : -122.3933

For a specific ip , use getLongitudeFor('specific_ip') method instead .

  • To get the TimeZone of the user's IP , use : IpAddress().getTimeZone():
String timeZone = await IpAddress().getTimeZone();
// Sample Output : "America\/Los_Angeles"

For a specific ip , use getTimeZoneFor('specific_ip') method instead .

  • To get the UTC time offset of the user's IP , use : IpAddress().getOffset():
int offset = await IpAddress().getOffset();
// Sample Output : -7

For a specific ip , use getOffsetFor('specific_ip') method instead .

  • To get the organization or Internet service provider (ASN + ISP name) of the user's IP , use : IpAddress().getOrganization():
String organization = await IpAddress().getOrganization();
// Sample Output : "AS36692 OpenDNS, LLC"

For a specific ip , use getOrganizationFor('specific_ip') method instead .

  • To get the Name of the Region of the user's IP , use : IpAddress().getRegion():
String region = await IpAddress().getRegion();
// Sample Output : "New York"

For a specific ip , use getRegionFor('specific_ip') method instead .

  • To get the Region Code of the user's IP , use : IpAddress().getRegionCode():
String regionCode = await IpAddress().getRegionCode();
// Sample Output : "NY"

For a specific ip , use getRegionCodeFor('specific_ip') method instead .

  • To get the Name of the city of the user's IP , use : IpAddress().getCity():
String city = await IpAddress().getCity();
// Sample Output : "Brooklyn"

For a specific ip , use getCityFor('specific_ip') method instead .

  • To get the Postal code/Zip code of the user's IP , use : IpAddress().getPostalCode():
String postalCode = await IpAddress().getPostalCode();
// Sample Output : "11213"

For a specific ip , use getPostalCodeFor('specific_ip') method instead .

Additional information

Some countries do not have region and other information. For example, for some IP addresses outside the United States and Canada, information such as region, regionCode, city and postalCode may not be found.

Suman Raj Pathak GitHub avatar
GitHub 作者

Suman Raj Pathak ↗

Software Engineer

@wesionaryTEAMNepal
语言Dart

分类

使用的依赖

依赖清单 4 项

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗