有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

本文档提供关于云查毒接口的 API 概览和 SDK 示例代码。
注意:
COS 小程序 SDK 版本需要大于等于 v1.1.1。
API
操作描述
用于提交一个病毒检测任务
用于查询病毒检测任务结果

提交病毒检测任务

功能说明

用于提交一个病毒检测任务。

使用示例

function postVirusDetect() {
var config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/virus/detect';
var url = 'https://' + host;
var body = COS.util.json2xml({
Request: {
Input: {
Object: 'virus.doc', // 文件名,取值为文件在当前存储桶中的完整名称,与 Url 参数二选一
// Url: 'http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/virus.doc', // 病毒文件的链接地址,与Object参数二选一
},
Conf: {
DetectType: 'Virus', // 检测的病毒类型,当前固定为:Virus
// CallBack: 'http://callback.demo.com', // 任务回调的地址
},
}
});
cos.request({
Method: 'POST',
Key: 'virus/detect',
Url: url,
Body: body,
ContentType: 'application/xml',
},
function(err, data){
console.log(err || data);
});
}
postVirusDetect();

参数说明

节点名称(关键字)
父节点
描述
类型
是否必选
Request
病毒检测的具体配置项。
Container
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Input
Request
需要检测的文件信息。
Container
Conf
Request
检测规则配置。
Container
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Object
Request.Input
存储在 COS 存储桶中的病毒文件名称,例如在目录 test 中的文件 virus.doc,则文件名称为 test/virus.doc。
注意:Object 和 Url 只能选择其中一种。
String
Url
Request.Input
病毒文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/virus.doc。
注意:Object 和 Url 只能选择其中一种。
String
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
DetectType
Request.Conf
检测的病毒类型,当前固定为:Virus
String
Callback
Request.Conf
检测结果回调通知到您设置的地址,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com
String

返回结果说明

详情请参见 提交病毒检测任务

查询病毒检测任务结果

功能说明

用于查询病毒检测任务结果。

使用示例

function getVirusDetectResult() {
var config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
var jobId = 'ssdb2dab23bcdb11ed9efb5254009411xx'; // 提交病毒检测任务后会返回当前任务的jobId
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/virus/detect/' + jobId;
var url = 'https://' + host;
cos.request({
Method: 'GET',
Key: 'virus/detect/' + jobId,
Url: url,
},
function(err, data){
console.log(err || data);
});
}
getVirusDetectResult();

参数说明

节点名称(关键字)
父节点
描述
类型
Response
病毒检测任务结果。
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
JobsDetail
Response
病毒检测任务的详细信息。
Container
Container 节点 JobsDetail 的内容:
节点名称(关键字)
父节点
描述
类型
Code
Response.JobsDetail
错误码,只有 State 为 Failed 时有意义。
String
Message
Response.JobsDetail
错误描述,只有 State 为 Failed 时有意义。
String
JobId
Response.JobsDetail
本次病毒检测任务的 ID。
String
State
Response.JobsDetail
病毒检测任务的状态,值为 Submitted(已提交检测)、Success(检测成功)、Failed(检测失败)、Auditing(检测中)其中一个。
String
CreationTime
Response.JobsDetail
病毒检测任务的创建时间。
String
Object
Response.JobsDetail
检测的文件为存储在 COS 中的文件时,该字段表示本次检测的文件名称。
String
Url
Response.JobsDetail
检测的文件为一条文件链接时,该字段表示本次检测的文件链接。
String
Suggestion
Response.JobsDetail
该字段表示本次判定的检测结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的检测结果进行相应处理。有效值:nomal(检测正常),block (检测到文件含有病毒)。
String
DetectDetail
Response.JobsDetail
本次检测的详细信息。
Container Array
Container 节点 DetectDetail 的内容:
节点名称(关键字)
父节点
描述
类型
Result
Response.JobsDetail.DetectDetail
单个文件的检测结果,可能有多个结果。
Array
Array 节点 Result 的内容:
节点名称(关键字)
父节点
描述
类型
FileName
Response.JobsDetail.DetectDetail.Result
检测的文件名称,如果是压缩文件,该字段表示解压后内部的具体文件名。
String
VirusName
Response.JobsDetail.DetectDetail.Result
检测到的病毒名称。
String

返回结果说明