Skip to main content

API категоризации доменов

Назначение API категоризации доменов SkyDNS

API категоризации сайтов предназначено для того чтобы предоставить разработчикам и сторонним системам быстрый и легкий способ получения данных из базы категорированных сайтов SkyDNS. API предназначено для интеграции с другими системами, где требуется проверка категорий сайтов (системы фильтрации, рекламные системы и т.п.). API категоризации сайтов использует стандартную спецификацию JSON для обработки запросов. API не предназначено для доступа к нему конечных пользователей интегрируемой системы, а должно запрашиваться с промежуточного сервера интегрируемой системы.

Для целей повышения скорости обработки, данные выдаваемые API категоризации сайтов могут быть кэшированы на стороне интегрируемой системы на срок не более 12 часов.

Как работать с API категоризации сайтов

Все русскоязычные тексты выдаются в формате Unicode, пример «\u0424\u0438\u0448\u0438\u043d\u0433».

Адреса доступа к API категоризации сайтов

Для доступа к API вы можете использовать следующие адреса:

  1. z.api.skydns.ru - для целей тестирования и анонимного доступа (количество запросов ограничено 10 запросами в минуту)
  2. x.api.skydns.ru – для зарегистрированных пользователей (без ограничения числа запросов)
Авторизация

Для запросов к x.api.skydns.ru нужно использовать Basic Authorization. Нужно передавать специальный HTTP заголовок Authorization в каждом запросе. В заголовке Authorization передается строка <client_id>:<client_secret>, закодированная методом base64. При этом следует указывать базовый (Basic) метод авторизации.

Пример заголовка:

Authorization: Basic Ndc2MDE4N2Q4MWJjNGI3Nzk5NDc2YjQycjUxMDM3MTM6ZjI1YmViZjk5MWZmNDE5ODkzZGIyNTU3MjhlNGUxZGU=
Получение списка категорий веб сайта

Запрос:

GET http://skydns-api/domain/www.website.com

Вернет результат в формате JSON (номера категорий, флаг хороший/плохой, имена категорий):

{
   "category": [3, 6],
   "bad": true,
   "category_name": [
         "Сайты, распространяющие вирусы",
         "Наркотики"
      ]
}
Получение списка категорий URL

Запрос:

GET http://skydns-api/url/http://www.website.com/path/to?arg=val

Вернет результат в формате JSON (номера категорий, флаг хороший/плохой, имена категорий):

{
   "category": [3, 6],
   "bad": true,
   "category_name": [
      "Сайты, распространяющие вирусы",
      "Наркотики"
   ]
}
Получение списка категорий

Запрос:

GET http://skydns-api/catgroups

Вернет результат в формате JSON:

[
   {"Черные сайты": {
      "3":"Сайты, распространяющие вирусы", "4":"Фишинг",
      "6":"Наркотики",
      }
   },
   {"Сайты для взрослых": {
      "13":"Сайты для взрослых",
      "14":"Алкоголь и табак",
      }
   },
]
Запросы

Если домен категоризирован, API возвращает код 200, название категории и ее номер.

curl --user <client_id>:<client_secret> https://x.api.skydns.ru/domain/website.com
StatusCode        : 200

StatusDescription : OK

Content           : {
   "category": [49],
   "bad": false,
   "category_name": ["Сайты, распространяющие вирусы", "Наркотики"]
}

Если домен не существует, API возвращает код 206, категорию 0 и NXDOMAIN.

curl --user <client_id>:<client_secret> https://x.api.skydns.ru/domain/does.not.exist
StatusCode        : 206

StatusDescription : Partial Content

Content           : {"category": [0], "bad": false, "category_name": ["Non-Existing Domain"]}

Если домен не категоризирован, API возвращает код 404 без JSON.

curl --user <client_id>:<client_secret> https://x.api.skydns.ru/domain/com
StatusCode        : 404
Content           : The remote server returned an error: (404) Not Found.