27 lines
645 B
Dart
27 lines
645 B
Dart
import 'package:http/http.dart' as http;
|
|
import 'dart:convert';
|
|
import 'package:mobdr/service/logger_util.dart';
|
|
|
|
Future<String> getPublicIPAddress() async {
|
|
try {
|
|
Stopwatch stopwatch = Stopwatch()..start();
|
|
|
|
var response = await http
|
|
.get(Uri.parse('https://api.bigdatacloud.net/data/client-ip'));
|
|
|
|
stopwatch.stop();
|
|
|
|
// log tracker
|
|
LoggerUtil.dblog(
|
|
'LOG', 'MOBDR', 'Get IPAddress', stopwatch.elapsedMilliseconds);
|
|
|
|
if (response.statusCode == 200) {
|
|
var data = json.decode(response.body);
|
|
return data['ipString'];
|
|
}
|
|
} catch (e) {
|
|
print(e.toString());
|
|
}
|
|
return '127.0.0.1';
|
|
}
|