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


Фото
- - - - -

DrWeb API

API

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

#1 Smi

Smi

    Newbie

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

Отправлено 29 Июль 2016 - 10:38

Добрый день! Есть такой вопрос. Мне нужно знать (программно из php) установил ли пользователь приложение (работает ли), полученное по подписке. Существует ли такая возможность в API, если да, то какая? Я хотел получить программно (в php) информацию по станции. Для этого использовал такой запрос "http://drweb.marganets.net:9080/api/3.0/stations/info.ds?id=<колюч,полученный при оформлении подписки>". У меня не получилось, в чем ошибка?



#2 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

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

Отправлено 29 Июль 2016 - 11:41

AV-Desk 6.2 в другой ветке)


(exit 0)

#3 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

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

Отправлено 29 Июль 2016 - 11:44

А по существу вопроса - насколько я понимаю, должно быть http://drweb.marganets.net:9080/api/3.0/stations/info.ds?id=ID_station

Подробности http://drweb.marganets.net:9080/esuite/include/languages/ru/help/xml_api/4_2_4.htm


(exit 0)

#4 Smi

Smi

    Newbie

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

Отправлено 29 Июль 2016 - 11:52

AV-Desk 6.2 в другой ветке)

спасибо.



#5 Smi

Smi

    Newbie

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

Отправлено 29 Июль 2016 - 11:54

А по существу вопроса - насколько я понимаю, должно быть http://drweb.marganets.net:9080/api/3.0/stations/info.ds?id=ID_station

Подробности http://drweb.marganets.net:9080/esuite/include/languages/ru/help/xml_api/4_2_4.htm

Спасибо! С вопросом корректности запроса и получения ответа я разобрался. Но не понятно можно ли в принципе получить информацию установлено ли приложение у пользователя на текущий момент с помощью API.



#6 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

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

Отправлено 29 Июль 2016 - 12:50

API общается с сервером.

С агентом, опосредованно, через сервер, опять-таки.

Таким образом, если сервер знает про эту станцию, иными словами, если агент зарегистрирован на сервере, то вы, при помощи АПИ, получите такую информацию, если станция ни разу не подключалась или какие-то иные проблемы, то, нет.


Сообщение было изменено Kirill Polubelov: 29 Июль 2016 - 12:51

(exit 0)

#7 Afalin

Afalin

    Guru

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

Отправлено 29 Июль 2016 - 15:47

Я так понимаю, проблема в том, что запрашивающему известны какие-то данные о станции, но неизвестен присвоенный ей uuid. И сопоставить эти данные с uuid по-моему через xml api нельзя.


Семь раз отрежь – один раз проверь

#8 Bigmax

Bigmax

    Newbie

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

Отправлено 01 Август 2016 - 09:42

Добрый день! Есть такой вопрос. Мне нужно знать (программно из php) установил ли пользователь приложение (работает ли), полученное по подписке. Существует ли такая возможность в API, если да, то какая? Я хотел получить программно (в php) информацию по станции. Для этого использовал такой запрос "http://drweb.marganets.net:9080/api/3.0/stations/info.ds?id=<колюч,полученный при оформлении подписки>". У меня не получилось, в чем ошибка?

А Вам принципиально пользоваться старым api 3.0?



#9 Anton Dobkin

Anton Dobkin

    Newbie

  • Members
  • 82 Сообщений:

Отправлено 04 Август 2016 - 05:05

 

 

Но не понятно можно ли в принципе получить информацию установлено ли приложение у пользователя на текущий момент с помощью API.

 

Можно. По ID станции/подписки можно получить данные о станции и ее состоянии:  http://drweb.marganets.net:9080/api/3.0/stations/info.ds?id=ID_station

В ответном XML у элемента '<station>'  есть атрибут 'state'. State - текущие состояние агента:

 

 

0 – станция не подключена (not logged in) к Серверу (не в сети).

1 – станция подключена (logged in) к Серверу (в сети).

2 – соединение со станцией разорвано.

3 – Сервер перезагружается/завершает свою работу.

4 – Агент своевременно не ответил на команду ping.

5 – время ожидания выполнения команды истекло.

6 – антивирусный пакет был удален.

7 – на станцию успешно установлено антивирусное ПО с помощью установки по сети, но станция еще не подключалась к Серверу.

 

Также  в ответе есть элемент '<os />' который содержит код и человекo-понятное название ОС на которой установлен агент. Если os code = 0, то агент не установлен. Можно ориентировать и на вложенные элементы '<lastseenat />' и '<lastseenfrom />', '<installed-components />' ели они не содержат значения, то агент не установлен. 

 

Также вы можете воспользоваться нашим расширением для php: php-avdesk, которое реализует взаимодействие с сервером. Пример получения информации о станции:

<?php

$avdesk = dwavd_init('192.168.1.3','9080', 'admin', '1234567890');
$st = dwavd_st_get_info($avdesk, 'ID_подписки'); 

$os = dwavd_st($st, 'os');
if($os == 0){
    echo 'Not installed'
}
?>

Сообщение было изменено Anton Dobkin: 04 Август 2016 - 05:12


#10 Anton Dobkin

Anton Dobkin

    Newbie

  • Members
  • 82 Сообщений:

Отправлено 04 Август 2016 - 05:07

 

Добрый день! Есть такой вопрос. Мне нужно знать (программно из php) установил ли пользователь приложение (работает ли), полученное по подписке. Существует ли такая возможность в API, если да, то какая? Я хотел получить программно (в php) информацию по станции. Для этого использовал такой запрос "http://drweb.marganets.net:9080/api/3.0/stations/info.ds?id=<колюч,полученный при оформлении подписки>". У меня не получилось, в чем ошибка?

А Вам принципиально пользоваться старым api 3.0?

 

 

Для AV-Desk 6.2 - это актуальная версия





Also tagged with one or more of these keywords: API

Читают тему: 1

0 пользователей, 1 гостей, 0 скрытых