公网IP地址
sumanrajpathak/public_ip_address open-source repository details.
- 星标
- 20
- 复刻
- 3
- 最近推送(UTC)
- 2026年7月3日
- 项目状态
- 未归档
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
Public IP Address
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.
分类
使用的依赖
如何选择适合项目的代码仓?
先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。
- 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
- 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
- 使用前在 GitHub 核对 README、许可证与 Issues。
来源与维护
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗