Сервис y.api
y.api
Общая информация
Сервис предназначен для категоризации доменов и может использоваться как локально, так и в распределеннной системе. Во втором случае скорость получения ответа может зависеть задержек в сети
Стабильное подключение к сети Интернет необходимо для бесперебойной работы сервиса в случаях:
- загрузки и обновления базы данных
- обновления счетчиков категорий и неизвестных категорий
- отправки дополнительной информации
Запрос на подключение выполняется каждые 5 минут
Использование сервиса
Запуск
1. Установите Docker
2. Загрузите архив с контейнером командой sudo docker load -i y_api.tar.gz
3. Запустите образ Docker в подсети
3.1 Или создайте отдельную подсеть
sudo docker network create --driver=bridge --subnet=193.33.33.0/24 y-api-net
и запустите контейнер
sudo docker run -it -d --net y-api-net --ip 193.33.33.33 y-api:1
4. Проверьте работу сервиса запросом curl http://193.33.33.33/qwerty.com
Адрес 193.33.33.33 использован в качестве примера. Вы можете проверить работу сервиса на любой сети
Пример ответа: {"category": [36, 49], "bad": false, "category_name": ["Education", "Computers & Internet"]}
Внимание! Запрос к серверу направляется каждые 5 минут. Время проверки должно быть короче, чтобы данные не отправлялись на сервер статистики для выставления счетов
Поддерживаются запросы типа GET
Логгирование выводится в стандартные потоки ввода и вывода stdout и stderr
Примеры запросов
Запрос |
Ответ |
curl -v http://193.33.33.33/qwerty.com |
< HTTP/1.1 200 OK < Content-type: application/json < Connection: keep-alive * no chunk, no close, no size. Assume close to signal end < * Closing connection 0 {"category": [36, 49], "bad": false, "category_name": ["Education", "Computers & Internet"]} |
curl -v http://193.33.33.33/foo |
< HTTP/1.1 404 Not Found < Connection: keep-alive * Connection #0 to host 193.33.33.33 left intact |
curl -v http://193.33.33.33/stat/ |
< HTTP/1.1 200 OK < Content-type: application/json < Connection: close < * Closing connection 0 {"counter_cat": [150002], "counter_unknown_cat": [0]} |
curl -v -X POST http://193.33.33.33/qwerty.com |
< HTTP/1.1 405 Method Not Allowed < Content-Type: text/html < Allow: GET < Connection: close * Closing connection 0 |
If there is no connection with the statistics server or any response from it other than "200 OK". curl -v http://193.33.33.33/qwerty.com |
< HTTP/1.1 503 Service Unavailable < Content-type: application/json < Connection: close < * Closing connection 0 {"details": "billing failure"} |