curlmyip.ru - простой и быстрый публичный сервис, позволяющий узнать свой внешний IP‑адрес, получить User‑Agent, список языковых предпочтений браузера, текущее время Unix, а также все HTTP‑заголовки запроса в формате JSON. Кроме того, с помощью метода /geo вы можете получить подробную географическую информацию о вашем IP: город, страну, координаты, часовой пояс и данные об автономной системе. Работает по HTTP и HTTPS без регистрации и API‑ключей.
Примеры использования
| Команда | Описание | Пример ответа |
|---|---|---|
| curl curlmyip.ru | Получить IP‑адрес (с символом перевода строки) | 91.23.25.9 |
| curl curlmyip.ru/ip | Получить IP‑адрес (без перевода строки — удобно для скриптов) | 91.23.25.9 |
| curl curlmyip.ru/ua | Узнать User‑Agent, отправляемый вашим клиентом | Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0 |
| curl curlmyip.ru/lang | Показать текущие языковые настройки браузера (заголовок Accept-Language) | ru,en-US;q=0.7,en;q=0.3 |
| curl curlmyip.ru/time | Получить текущее время сервера в формате Unix timestamp | 1741594272 |
| curl curlmyip.ru/headers | Получить все входящие HTTP‑заголовки в виде JSON | {"host":"curlmyip.ru","user-agent":"curl/8.4.0","accept-language":"ru,en-US;q=0.7"} |
| curl curlmyip.ru/geo | Получить географические данные по вашему IP (JSON) | {"ip":"145.236.22.10","city":{"geoname_id":2861876,"names":{"de":"München","en":"Munich","fr":"Munich","ru":"Мюнхен"}},"continent":{"code":"EU","geoname_id":6255148,"names":{"de":"Europa","en":"Europe","ru":"Европа"}},"country":{"geoname_id":2921044,"iso_code":"DE","names":{"de":"Deutschland","en":"Germany","ru":"Германия"}},"location":{"accuracy_radius":50,"latitude":48.1351,"longitude":11.5820,"time_zone":"Europe/Berlin"},"registered_country":{"geoname_id":2921044,"iso_code":"DE","names":{"en":"Germany"}},"subdivisions":[{"geoname_id":2861876,"iso_code":"BY","names":{"de":"Oberbayern","en":"Bavaria","ru":"Бавария"}}],"autonomous_system_number":12345,"autonomous_system_organization":"Beispiel Netz GmbH"} |
Примечание
Корневой адрес / возвращает IP‑адрес с завершающим символом перевода строки \n. Эндпоинт /ip отдаёт «чистый» IP - это особенно удобно при использовании в скриптах (не нужно обрезать пробелы). Все эндпоинты доступны и по HTTP, и по HTTPS.
Для разработчиков: примеры кода
Сервис легко встраивается в любые программы и скрипты. Вот несколько примеров на популярных языках программирования.
Bash
| 1 2 3 4 5 6 | #!/bin/bash BASE="http://curlmyip.ru" echo "Мой IP: $(curl -s $BASE/ip)" echo "User-Agent: $(curl -s $BASE/ua)" # Геоданные (с jq для красивого вывода) curl -s $BASE/geo | jq . |
Python
| 1 2 3 4 5 6 7 8 | import requests print("IP:", requests.get('http://curlmyip.ru/ip').text.strip()) print("UA:", requests.get('http://curlmyip.ru/ua').text.strip()) # Геоданные geo = requests.get('http://curlmyip.ru/geo').json() print("Город:", geo['city']['names'].get('ru', geo['city']['names']['en'])) print("Страна:", geo['country']['names'].get('ru', geo['country']['names']['en'])) print("Координаты:", geo['location']['latitude'], geo['location']['longitude']) |
PHP
| 1 2 3 4 5 6 7 8 9 | <?php $ip = trim(file_get_contents('http://curlmyip.ru/ip')); $ua = trim(file_get_contents('http://curlmyip.ru/ua')); echo "IP: $ip, User-Agent: $ua"; // Геоданные $geo = json_decode(file_get_contents('http://curlmyip.ru/geo'), true); echo "Город: {$geo['city']['names']['ru']}\n"; echo "Страна: {$geo['country']['names']['ru']}\n"; ?> |
PowerShell (Windows)
| 1 2 3 4 5 6 7 | (Invoke-WebRequest -Uri "http://curlmyip.ru/ip").Content.Trim() # Геоданные $geo = Invoke-RestMethod -Uri "http://curlmyip.ru/geo" $geo.city.names.ru $geo.country.names.ru $geo.location.latitude $geo.location.longitude |
Больше примеров (Node.js, Go, Ruby и другие) вы найдёте в репозитории проекта на GitHub: https://github.com/Gnoztis/curlmyip.
Дополнительные возможности
Эндпоинт /headers возвращает JSON‑объект со всеми заголовками, которые ваш HTTP‑клиент отправил серверу. Это бывает полезно для отладки вебхуков, проверки прокси‑серверов или анализа того, какую информацию о вас «видит» сайт. Пример ответа:
| 1 2 3 4 5 6 | { "host": "curlmyip.ru", "user-agent": "curl/8.4.0", "accept": "*/*", "accept-language": "ru,en;q=0.9" } |
Заголовки возвращаются в том виде, в каком они пришли, без изменений.
Эндпоинт /geo предоставляет расширенную географическую информацию. Он возвращает:
- ip – ваш IP-адрес;
- city – город (названия на разных языках, Geoname ID);
- country – страна (код ISO, названия, Geoname ID);
- continent – континент;
- location – широта, долгота, радиус точности и часовой пояс;
- registered_country – страна регистрации IP (может отличаться от фактической);
- subdivisions – административное деление (регион / штат);
- autonomous_system_number – номер автономной системы (ASN);
- autonomous_system_organization – название организации-владельца AS.
Эти данные полезны для аналитики, геотаргетинга, мониторинга распределения трафика и многих других задач.
Сервис работает без ограничений по количеству запросов (в разумных пределах), не требует аутентификации и не хранит логи. Используйте его для мониторинга смены IP, в скриптах автоматизации, для обучения или быстрой проверки сетевых параметров.