功能描述
云查毒功能为异步请求方式,您可以通过本接口对云上的文件进行文件病毒(例如木马病毒、蠕虫病毒等)检测,然后通过查询病毒检测结果接口,查询病毒检测的结果。
费用说明
- 如果文件属于 COS 上的低频存储类型,调用检测会产生 COS 低频数据取回费用。
- 不支持检测 COS 上的归档存储类型和深度归档存储类型的文件,此类型文件请先 恢复归档文件。
限制说明
- 文件大小支持:文件 < 1GB。
- 文件支持格式:EXE、DLL、SCR、SYS、MSI、SWF、JAR、APPLETJAR、JS、VBS、HTML、BAT、WSF、PS1、HTM、MHT、HTA、CHM、LNK、DOC、DOCX、DOCX、DOTX、DOCM、DOTM、XLS、XLSX、XLSM、XLSB、XLTM、 XLTX、XLAM、PPT、PPTX、POTX、PPSX、PPTM、POTM、PPSM、XML、RTF、PDF、ELF、 XML、MAC、VBE、3DMAX、ISO、CPIO、RPM、XZ、DEB。
- 支持检测压缩文件,例如:zip、7z、rar4、rar5、inno、cab、autoit、nsis、gz、tar、iso、mime、chm、jar、dmg、apk 等。
请求
请求示例
POST /virus/detect HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml
<body>
说明:
请求头
此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。
请求体
该请求操作的实现需要有如下请求体:
<Request>
<Input>
<Object></Object>
<Url></Url>
</Input>
<Conf>
<DetectType>Virus</DetectType>
<Callback></Callback>
</Conf>
</Request>
具体的数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
---|---|---|---|---|
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 | 否 |
响应
响应头
此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。
响应体
该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<JobsDetail>
<JobId></JobId>
<State></State>
<CreationTime></CreationTime>
</JobsDetail>
</Response>
具体的数据内容如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
Response | 无 | 病毒检测返回的具体响应内容。 | Container |
Container 节点 Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
JobsDetail | Response | 病毒检测任务的详细信息。 | Container |
Container 节点 JobsDetail 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
---|---|---|---|
JobId | Response.JobsDetail | 本次病毒检测任务的 ID。 | String |
State | Response.JobsDetail | 病毒检测任务的状态,值为 Submitted(已提交检测)、Success(检测成功)、Failed(检测失败)、Auditing(检测中)其中一个。 | String |
CreationTime | Response.JobsDetail | 病毒检测任务的创建时间。 | String |
错误码
该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。
实际案例
请求
POST /virus/detect HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0e****
Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml
<Request>
<Input>
<Object>a.doc</Object>
</Input>
<Conf>
<DetectType>Virus</DetectType>
<Callback>http://callback.com/</Callback>
</Conf>
</Request>
响应
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
<Response>
<JobsDetail>
<JobId>ssb1ca9fc8a3ed11ea834c525400863904</JobId>
<State>Submitted</State>
<CreationTime>2021-07-07T12:12:12+0800</CreationTime>
</JobsDetail>
</Response>