Files
SHiNE-server/shine-server-geo/src/main/java/shine.geo/GeoLookupTestMain.java
T
AidarKC 2ab1bbc02c 10 12 25
Всё работает. Плюс чть улучшил тест работы геолокации
2025-12-10 13:20:24 +03:00

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 + " мс");
}
}