This package allows you to obtain your public IP address and many other information about it
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
Add this to your dependencies :
dependencies:
ip_address: ^1.0.0
And import :
import 'package:ip_address/ip_address.dart';
To get your ip address, just use IpAddress.getIp()
:
import 'package:ip_address/ip_address.dart';
void main() async {
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.
- 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()
:
int 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 .
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.