Перейти к содержимому

DNS API (dig): CNAME, IP-адреса с геолокацией и NS

GET /v1/redirekto/dig показывает, куда на самом деле смотрит домен: проходит цепочку CNAME до конечного имени, получает его A- и AAAA-записи, определяет страну, город и провайдера каждого IP и возвращает NS-серверы домена.

Параметр Тип Обязательный Описание
domain string да домен; протокол, путь и порт отбрасываются, кириллический домен переводится в punycode
Окно терминала
curl -G https://proxy.seyka.ru/v1/redirekto/dig \
-H "Authorization: Bearer $SEYKA_API_KEY" \
--data-urlencode "domain=www.github.com"
{
"domain": "www.github.com",
"cnameChain": ["www.github.com"],
"resolvedIps": [
{
"ip": "140.82.121.4",
"version": 4,
"countryCode": "DE",
"country": "Germany",
"city": "Frankfurt am Main",
"org": "GitHub, Inc."
}
],
"queryTimeMs": 63
}
Поле Описание
domain проверенный домен (для кириллического — в punycode); domainDisplay — исходное написание
cnameChain имена, оказавшиеся CNAME, по порядку, начиная с запрошенного; конечное имя с адресами в цепочку не входит. Пустой массив — CNAME нет
resolvedIps A- и AAAA-адреса конечного имени: ip, version (4/6) и, если известны, countryCode, country, city, org
nameServers NS-записи самого запрошенного домена (у поддомена их обычно нет — тогда поля нет)
queryTimeMs время запроса, мс
error причина, если адреса получить не удалось

В примере www.github.com — CNAME на github.com, поэтому в цепочке одно имя, а адреса — у github.com.

POST /v1/redirekto/dig принимает массив из 1–25 объектов {"domain": "…"} и возвращает массив результатов в том же порядке:

Окно терминала
curl https://proxy.seyka.ru/v1/redirekto/dig \
-H "Authorization: Bearer $SEYKA_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"domain": "seyka.ru"}, {"domain": "www.github.com"}]'

Общие правила пакетов — в обзоре Redirekto.

  • На весь разбор — цепочку CNAME и запросы A/AAAA/NS — отводится 10 секунд; по истечении результат придёт с "error": "DNS lookup timed out".
  • Цепочка CNAME проходится не глубже 11 шагов; более длинная — "error": "CNAME chain too deep".
  • В ответ попадают только публичные адреса: частные, зарезервированные и внутренние отбрасываются. Если публичных адресов нет, результат — с "error": "No DNS records found" и пустыми cnameChain и resolvedIps (nameServers при этом может быть заполнено).
  • Домен с недопустимыми символами — "error": "Invalid domain format". Все эти случаи — ответ 200; 502 означает, что сервис не ответил. Коды — на странице Ошибки.
  • Геолокация IP — по базе адресов, без гарантии точности до города; если данных нет, остаётся только ip и version.

Каждый домен — один вызов, пакет — по числу элементов. Цена — в таблице цен.