API категоризации доменов
API категоризации сайтов предназначено, чтобы разработчики и сторонние системы могли быстро и легко получить данные из базы категорированных сайтов SkyDNS. API предназначено для интеграции с другими системами, где требуется проверка категорий сайтов (системы фильтрации, рекламные системы и т.п.). API категоризации сайтов использует стандартную спецификацию JSON для обработки запросов. Доступ к API не предназначен для конечных пользователей интегрируемой системы, а должен запрашиваться с промежуточного сервера интегрируемой системы.
Для повышения скорости обработки данные, выдаваемые API категоризации сайтов, могут быть кэшированы на стороне интегрируемой системы не более чем на 12 часов.
Как работать с API категоризации сайтов
Все русскоязычные тексты выдаются в формате Unicode, пример «\u0424\u0438\u0448\u0438\u043d\u0433».
Адреса доступа к API категоризации сайтов
Для доступа к API вы можете использовать следующие адреса:
- z.api.skydns.ru - для тестирования и анонимного доступа (не более 10 запросов в минуту)
- 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.