Loading IP address geographic location...

API

uk ru

Оглавление


Обзор

Запрос проверки может быть выполнен с помощью http запроса:

curl -H "Accept: application/json" \
  'https://check-host.net/check-<CHECKTYPE>?host=<HOSTNAME>&max_nodes=<MAX_NODES>&node=<NODE>'

<CHECKTYPE> принимает одно из следующих значений: ping, http, tcp, dns, udp
<MAX_NODES> обозначает количество узлов используемых для проверки
<NODE> используется для указания узла(ов) проверки

Пример:

curl -H "Accept: application/json" \
  'https://check-host.net/check-tcp?host=smtp://gmail.com&max_nodes=1'

Ответ:

{
  "ok":             1,
  "request_id":     "29",
  "permanent_link": "https://check-host.net/check-report/29",
  "nodes": {
    "us1.node.check-host.net": ["us", "USA", "Los Angeles", "5.253.30.82", "AS18978"],
  }
}

request_id - это идентификатор запроса. Используется для получения результатов проверки.
permanent_link - это постоянная ссылка на отчет проверки.
nodes содержит хэш-таблицу узлов, на которых выполняется проверка. Ключ - это идентификатор узла, а значение описывает расположение узла, IP и ASN.

Результаты проверки могут быть получены с помощью http запроса:

curl -H "Accept: application/json" \
  https://check-host.net/check-result/<REQUEST_ID>

Ответ:

{
  {"us1.node.check-host.net": [[1, 0.131124019622803, "Moved Permanently", "301"]]}
}

Ping проверка

curl -H "Accept: application/json" \
  'https://check-host.net/check-ping?host=check-host.net&max_nodes=3'

Ответ:

{
  "ok":             1,
  "request_id":     "806df9",
  "permanent_link": "https://check-host.net/check-report/806df9",
  "nodes": {
    "us1.node.check-host.net": ["us", "USA", "Los Angeles", "5.253.30.82", "AS18978"],
    "ch1.node.check-host.net": ["ch", "Switzerland", "Zurich", "179.43.148.195", "AS50837"],
    "pt1.node.check-host.net": ["pt", "Portugal", "Viana", "185.83.213.25", "AS44222"]
  }
}

Результаты Ping проверки

curl -H "Accept: application/json" \
  https://check-host.net/check-result/806df9

Ответ:

{
  {"us1.node.check-host.net": [[
      ["OK", 0.044, "94.242.206.94"],
      ["TIMEOUT", 3.005], 
      ["MALFORMED", 0.045],
      ["OK", 0.0433]
   ]],
   "ch1.node.check-host.net": [[null]],
   "pt1.node.check-host.net": null,
  }
}

Узел us1.node.check-host.net выполнил 4 ping'а к узлу 94.242.206.94. Две удачных и две неуспешных: вторая проверка была прервана по таймауту, а во время третьей был получен искаженный ответ.
Узел ch1.node.check-host.net не смог преобразовать доменное имя.
Узел pt1.node.check-host.net все еще выполняет проверку.


HTTP проверка

curl -H "Accept: application/json" \
  'https://check-host.net/check-http?host=check-host.net&max_nodes=3'

Ответ:

{
  "ok":             1,
  "request_id":     "806dfa",
  "permanent_link": "https://check-host.net/check-report/806dfa",
  "nodes": {
    "us1.node.check-host.net": ["us", "USA", "Los Angeles", "5.253.30.82", "AS18978"],
    "ch1.node.check-host.net": ["ch", "Switzerland", "Zurich", "179.43.148.195", "AS50837"],
    "pt1.node.check-host.net": ["pt", "Portugal", "Viana", "185.83.213.25", "AS44222"]
  }
}

Результаты HTTP проверки

curl -H "Accept: application/json" \
  https://check-host.net/check-result/806dfa

Ответ:

{
  {"us1.node.check-host.net": [[1, 0.13, "OK", "200", "94.242.206.94"]],
   "ch1.node.check-host.net": [[0, 0.17, "Not Found", "404", "94.242.206.94"]],
   "pt1.node.check-host.net": [[0, 0.07, "No such device or address", null, null]],
  }
}

Узел us1.node.check-host.net успешно загрузил страницу. Загрузка страницы заняла 0.13 секунд. Сервер 94.242.206.94 отправил ответ с кодом статуса 200 и сообщением "OK".
Узел ch1.node.check-host.net не смог загрузить страницу из-за ошибки сервера — сервер 94.242.206.94 отправил ответ с кодом статуса 404 и сообщением "Not found".
Узел pt1.node.check-host.net не смог выполнить запрос из-за сетевой ошибки. Он не смог преобразовать имя хоста.


TCP проверка подключения

curl -H "Accept: application/json" \
  'https://check-host.net/check-tcp?host=https://check-host.net&max_nodes=3'

Ответ:

{
  "ok":             1,
  "request_id":     "806dfb",
  "permanent_link": "https://check-host.net/check-report/806dfb",
  "nodes": {
    "us1.node.check-host.net": ["us", "USA", "Los Angeles", "5.253.30.82", "AS18978"],
    "ch1.node.check-host.net": ["ch", "Switzerland", "Zurich", "179.43.148.195", "AS50837"],
    "pt1.node.check-host.net": ["pt", "Portugal", "Viana", "185.83.213.25", "AS44222"]
  }
}

Результаты TCP проверки подключения

curl -H "Accept: application/json" \
  https://check-host.net/check-result/806dfb

Ответ:

{
   "us1.node.check-host.net": [{"time": 0.03, "address": "104.28.31.42"}],
   "ch1.node.check-host.net": [{"error": "Connection timed out"}],
   "pt1.node.check-host.net": null,
  }
}

Узел us1.node.check-host.net успешно подключился к серверу за 0.03 секунды.
Узел ch1.node.check-host.net не смог подключиться к серверу.
Узел pt1.node.check-host.net все еще выполняет проверку.


DNS проверка адреса

curl -H "Accept: application/json" \
  'https://check-host.net/check-dns?host=https://check-host.net&max_nodes=3'

Ответ:

{
  "ok":             1,
  "request_id":     "806dfc",
  "permanent_link": "https://check-host.net/check-report/806dfc",
  "nodes": {
    "us1.node.check-host.net": ["us", "USA", "Los Angeles", "5.253.30.82", "AS18978"],
    "ch1.node.check-host.net": ["ch", "Switzerland", "Zurich", "179.43.148.195", "AS50837"],
    "pt1.node.check-host.net": ["pt", "Portugal", "Viana", "185.83.213.25", "AS44222"]
  }
}

Результаты DNS проверки адреса

curl -H "Accept: application/json" \
  https://check-host.net/check-result/806dfc

Ответ:

{
   "us1.node.check-host.net": [{
        "A": ["216.58.209.174"],
        "AAAA": ["2a00:1450:400d:806::200e"],
        "TTL":299
   }],
   "ch1.node.check-host.net": [{"A": [], "AAAA": [], "TTL": null}],
   "pt1.node.check-host.net": null,
  }
}

Узел us1.node.check-host.net нашел два адреса: один IPv4 и один IPv6.
Узел ch1.node.check-host.net не смог преобразовать доменное имя.
Узел pt1.node.check-host.net все еще выполняет проверку.


Получение списка нод

curl -H "Accept: application/json" https://check-host.net/nodes/ips

curl -H "Accept: application/json" https://check-host.net/nodes/hosts

Ответ:

{
   "nodes": {
        "ru1.node.check-host.net": {
            "asn": "AS14576",
            "ip": "185.159.82.88",
            "location": [
                "ru",
                "Russia",
                "Moscow"
            ]
        },
        "de1.node.check-host.net": {
            "asn": "AS24940",
            "ip": "46.4.143.48",
            "location": [
                "de",
                "Germany",
                "Falkenstein"
            ]
        }
   }
}

Использование выбранных нод для проверки

curl -H "Accept: application/json" \
  'https://check-host.net/check-tcp?host=google.com:443&node=us1.node.check-host.net&node=ch1.node.check-host.net'

Ответ:

{
  "ok":             1,
  "request_id":     "807dab",
  "permanent_link": "https://check-host.net/check-report/807dab",
  "nodes": {
    "us1.node.check-host.net": ["us", "USA", "Los Angeles", "5.253.30.82", "AS18978"],
    "ch1.node.check-host.net": ["ch", "Switzerland", "Zurich", "179.43.148.195", "AS50837"]
  }
}

Для разработчиков

FlorianMichael/CheckHost4J - Java библиотека для API (сторонняя разработка)

Lifailon/Check-Host - PowerShell модуль для API (сторонняя разработка)