Протокол версии 3.0
Если в Kaspersky Scan Engine включена авторизация HTTP-клиентов, все HTTP-запросы должны содержать токен API.
В следующем примере показан HTTP-запрос, содержащий токен API в поле Authorization:
| POST /api/v3.0/scanfile HTTP/1.0 Content-Type: application/octet-stream Content-Length: 22 Authorization: SldYQTUyOUNVMnE3VWR2N3Izamk2QkVNc2hhLTV5dTBLcVUzeXZLdGYtNkkrVFUyQUVRQUNLQUFCSWdwRUlJTQ== 
 { "timeout": "10000", "object": "\/home\/user\/eicar" } | 
В этом примере Authorization – это имя по умолчанию для поля заголовка запроса, используемого для авторизации. Вы можете изменить это имя в разделе Authorization Kaspersky Scan Engine GUI.
Ниже приведен пример ответа на запрос:
| HTTP/1.0 200 OK Connection: close Content-Type: text/plain Server: KAVHTTPD/1.0 X-KAV-ProtocolVersion: 3 Date: Wed, 30 Jan 2019 15:46:29 GMT Content-Length: 75 
 { "object": "\/home\/user\/eicar", "scanResult": "DETECT", "detectionName": "EICAR-Test-File" } | 
Если авторизация не удалась и был указан префикс Bearer, ответ будет следующим:
| HTTP/1.1 401 Unauthorized WWW-Authenticate: Bearer realm="API Kaspersky Scan Engine" | 
Если авторизация не удалась и префикс Bearer не был указан, ответ будет следующим:
| HTTP/1.1 401 Unauthorized WWW-Authenticate: Token realm="API Kaspersky Scan Engine" |