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

44 lines
1.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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