SHA256
44 lines
1.8 KiB
Java
44 lines
1.8 KiB
Java
package shine.geo;
|
|
|
|
/**
|
|
* Тестовый запуск геолокации.
|
|
*.
|
|
* Логика:
|
|
* 1) Если в args[0] передан IP — используем его.
|
|
* 2) Иначе пробуем узнать внешний IP текущей машины.
|
|
* 3) Если не удалось — берём константу TEST_IP.
|
|
* 4) Вызываем GeoLookupService.resolveCountryCityOrIp(...) и печатаем результат.
|
|
*/
|
|
public class GeoLookupTestMain {
|
|
|
|
// Константа на случай, если не удалось узнать внешний IP.
|
|
private static final String TEST_IP = "8.8.8.8";
|
|
|
|
public static void main(String[] args) {
|
|
String ip;
|
|
|
|
if (args.length > 0 && args[0] != null && !args[0].isBlank()) {
|
|
ip = args[0].trim();
|
|
System.out.println("Используем IP из аргумента: " + ip);
|
|
} else {
|
|
// Пытаемся узнать внешний IP
|
|
String detectedIp = GeoLookupService.fetchPublicIpOrDefault(TEST_IP);
|
|
if (TEST_IP.equals(detectedIp)) {
|
|
System.out.println("Не удалось определить внешний IP, используем тестовый: " + TEST_IP);
|
|
} else {
|
|
System.out.println("Определён внешний IP: " + detectedIp);
|
|
}
|
|
ip = detectedIp;
|
|
}
|
|
|
|
// Замер времени
|
|
long start = System.currentTimeMillis();
|
|
String result = GeoLookupService.resolveCountryCityOrIp(ip);
|
|
long end = System.currentTimeMillis();
|
|
long duration = end - start;
|
|
|
|
System.out.println("Результат геолокации: " + result);
|
|
System.out.println("Время ответа геолокации: " + duration + " мс");
|
|
}
|
|
}
|