公網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 ↗