Перейти к содержимому


Фото
- - - - -

Изменение параметров станции с помощью Web API

API

  • Please log in to reply
10 ответов в этой теме

#1 Алексей Лукин

Алексей Лукин

    Newbie

  • Posters
  • 7 Сообщений:

Отправлено 12 Январь 2026 - 10:57

Здравствуйте.
 
Возникла задача автоматизировать заполнение некоторых параметров станций антивирусной сети (поле "Описание", поля из блока "Расположение").
Логично использовать для этого методы Web API. 
В Руководстве по Web API написано что изменение параметров станции можно выполнить с помощью запроса change.ds
Например, изменение поля description у станции с id=1002 можно сделать так:

https://192.168.1.1:9081/api/stations/change.ds?id=1002&description=description

 

Пытаюсь выполнить данный запрос, но сервер возвращает ошибку:


Internal Server Error
The error '500 Internal Server Error' occurred while processing request you had sent.

We're sorry. The internal server error has occurred processing request you had sent.
 
Dr.Web Server
 

Вместе с тем, запрос на получение информации о станции отрабатывается нормально:

https://192.168.1.1:9081/api/stations/info.ds?id=1002

В результате получаю XML-файл:

 

<drweb-es-api api_version="4.3.2" timestamp="1768203158" server="192.168.1.1" srv_version="13.00.1.202511120" status="true"
 <stations total="1"
   <station id=
 

   . . . 


  </station>
  </stations>

</drweb-es-api>

 

Сервер Dr.Web Enterprise Security Suite 13.00.1 (12-11-2025) развернут в локальной сети на ОС Microsoft Windows Server 2022 Standard



#2 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 500 Сообщений:

Отправлено 12 Январь 2026 - 14:11

Здравствуйте.
По описанному сценарию не воспроизводится на указанной версии.
Надо бы глянуть в логе, в чём именно ошибка.


(exit 0)

#3 B.Chugunov

B.Chugunov

    Advanced Member

  • Dr.Web Staff
  • 805 Сообщений:

Отправлено 12 Январь 2026 - 17:27

Администрирование > Конфигурация Сервера Dr.Web > Журнал > Уровень детализации журнала Сервера Dr.Web - "Все" - Сохранить - Перезапустить ES-сервер. 
Воспроизвести проблему, запомнить время воспроизведения. Скопировать из C:\Program Files\DrWeb Server\var все drwcsd.X.log.gz + основной drwcsd.log в другой каталог, упаковать в архив и залить куда-нибудь. 
Приаттачить сюда ссылку на полученный архив с указанием времени воспроизведения ошибки + хорошо бы реальный запрос увидеть, а не пример из доки. Т.е. что реально пытаетесь прописать. 


-----------------
best regards,
Technical support department, Doctor Web, Ltd.

#4 Алексей Лукин

Алексей Лукин

    Newbie

  • Posters
  • 7 Сообщений:

Отправлено 13 Январь 2026 - 04:55

Kirill PolubelovB.Chugunov, Спасибо за ответ!
 
Более конкретно:
Для просмотра информации о станции в браузере выполняю запрос: 
https://drweb.zao.evalar.ru/api/stations/info.ds?id=b371aaf0-0ab9-4aea-9623-c220db78a814
выполняется как нужно.
 
Для редактирования поля description также в браузере выполняю запрос:
https://drweb.zao.evalar.ru/api/stations/change.ds?id=b371aaf0-0ab9-4aea-9623-c220db78a814&description=Lukin
 
Время воспроизведения ошибки: 08:47:08 - сначала запрос info.ds, затем сразу change.ds

логи лежат тут:
https://cloud.evalar.ru:8443/s/4xaBLhZ47QkZGIV



#5 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 500 Сообщений:

Отправлено 13 Январь 2026 - 10:25

А какие  у этой станции координаты показывает?


(exit 0)

#6 Алексей Лукин

Алексей Лукин

    Newbie

  • Posters
  • 7 Сообщений:

Отправлено 13 Январь 2026 - 10:37

А какие  у этой станции координаты показывает?

В смысле геопозицию? правильную  :)  именно ту что в свойствах станции записана.



#7 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 500 Сообщений:

Отправлено 13 Январь 2026 - 10:56

Интересуют цифры )

Потому что ошибка, приводящая к 500 Internal Server Error выглядит так:

 

20260113.084708.12 db3 [06220 190c] wwr:6  [Lua/VM] Traceback function called with 1 argument, first argument has type string/#4
20260113.084708.12 wrn [06220 190c] wwr:6  [Lua/VM] Script execution error "[string "api2/stations/change.ds"]:324: bad argument #1 to 'num_2_geo' (number has no integer representation)" has been detected
20260113.084708.12 wrn [06220 190c] wwr:6  [Lua/VM] 01. At line ? field C-function "num_2_geo"
20260113.084708.12 wrn [06220 190c] wwr:6  [Lua/VM] 02. From line #324 method Lua-function "exec" [api2/stations/change.ds:175:969]
20260113.084708.12 wrn [06220 190c] wwr:6  [Lua/VM] 03. From line #182 method Lua-function "exec" [api2/api.ds:164:189]
20260113.084708.12 wrn [06220 190c] wwr:6  [Lua/VM] 04. From line #124 Lua-function 000002BE6A99BFD0 [api2/api.ds:38:142]

Думаю, что чувствительной информации в паблике хватит, да. С cloud лог можно удалять, и обратиться в наш саппорт, там уже продолжить общение.
Вообще странно, в коде, на первый взгляд, всё веточками обложено.


(exit 0)

#8 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 500 Сообщений:

Отправлено 13 Январь 2026 - 10:57

Споткнулись на latitude станции.


(exit 0)

#9 Алексей Лукин

Алексей Лукин

    Newbie

  • Posters
  • 7 Сообщений:

Отправлено 13 Январь 2026 - 11:23

Споткнулись на latitude станции.

Все-таки я не понял, в запросе только изменение description станции, остальные поля не трогаю. При просмотре информации о станции ошибок нет, выводит в формате XML все поля, в т.ч. координаты вот в таком виде:

<longitude>85113500</longitude>
<latitude>52518500</latitude>


#10 Алексей Лукин

Алексей Лукин

    Newbie

  • Posters
  • 7 Сообщений:

Отправлено 13 Январь 2026 - 11:59

Вы правы, проблема с координатами - очистил поля с координатами в админке, сохранил. После этого запрос на изменение description отработал.

 

Но после внесения изменений у данного пользователя сразу перестает работать админка: The error '500 Internal Server Error' occurred while processing request you had sent."
Помогает либо сброс текущей сессии, либо повторная авторизация в браузере.



#11 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 500 Сообщений:

Отправлено 13 Январь 2026 - 12:39

Вы тоже правы. При внесении любых изменений, запрашивается вся инфа по станции.

Ну и да, баг непосредственно при обработке координат, делаются лишние преобразования.

Предлагаю, всё же, сделать заявку в саппорт, посмотрим, есть ли WA для всего этого.


Сообщение было изменено Kirill Polubelov: 13 Январь 2026 - 12:40

(exit 0)



Also tagged with one or more of these keywords: API