Skip to main content

Сервис 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"}