公共参数

公共参数指所有HTTP请求都包含的内容,具体包括公共请求头和公共请求参数。

公共请求头

下表描述的公共请求头(Request Header)适用于通过URL发送HTTP POST请求调用内容安全检测服务类API。

名称

类型

是否必选

描述

Accept

String

接受的返回结果的类型。目前只支持JSON类型,取值:application/json

Content-Type

String

当前请求体(Request Body)的数据类型。目前只支持JSON类型,取值:application/json

Content-MD5

String

请求体的编码值,根据请求体计算所得。

算法说明:将请求体内容当作字符串进行MD5编码(返回二进制格式),然后进行Base64编码。

说明

当加密算法选择HMAC-SM3时,该字段可以不填写;当加密算法选择HMAC-SHA1(默认)时,该字段必填。

Date

String

请求的时间。使用GMT日期格式表示,例如,Tue, 17 Jan 2017 10:16:36 GMT

x-acs-version

String

内容安全接口的版本号。取值:2018-05-09

重要

2018-05-09之前的版本已经下线,如果使用旧的版本号会返回HttpCode:400 , ErrorCode:InvalidAction.NotFound报错,请更换为2018-05-09版本号。

x-acs-signature-nonce

String

签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。

x-acs-signature-version

String

签名算法版本。取值:1.0

x-acs-signature-method

String

签名方式。取值:

  • HMAC-SHA1(默认)

  • HMAC-SM3

关于签名方式的更多信息,请参见签名机制

x-acs-content-sm3

String

请求体的编码值,根据请求体计算所得。

算法说明:将请求体内容当作字符串进行国密SM3加密得到bytes数组,然后将bytes数组转换成16进制,即:encodeHexString(SM3Digest(body))。

Authorization

String

认证方式,格式为"acs" + " " + AccessKeyId + ":" + signature

参数说明:

  • AccessKeyId:表示通过阿里云控制台申请获得的访问密钥AccessKey ID。关于AccessKey ID的获取方式,请参见创建AccessKey

  • signature:表示请求签名。关于请求签名的计算方法,请参见签名机制

公共请求参数

下表描述的公共请求参数(Query Parameter)适用于所有通过URL发送HTTP POST请求调用内容安全检测服务类API。

名称

类型

是否必选

描述

clientInfo

String

发起请求的客户端信息。由ClientInfo结构体通过JSON序列化获得,包括umid或imei等信息。具体结构描述,请参见ClientInfo

表 1. ClientInfo

名称

类型

是否必选

描述

sdkVersion

String

SDK版本号。

通过SDK调用时需要提供该字段。更多信息,请参见SDK概览

cfgVersion

String

配置信息版本。

通过SDK调用时需要提供该字段。更多信息,请参见SDK概览

userType

String

用户账号的类型。取值:

  • taobao:表示淘宝账号。

  • others:表示其他账号体系的账号。

userId

String

您业务系统中用户的唯一标识。

强烈建议您填写该值用于分析用户违规行为。

userNick

String

用户昵称。

imei

String

硬件设备码。

imsi

String

运营商设备码。

umid

String

设备指纹。

ip

String

用于标识您业务系统中用户的公网IP地址。

如果请求是从设备端发起的,该字段通常不填写。如果是从后台发起的,该IP为用户的登录IP或者设备的公网IP。

建议您填写该IP用于分析用户违规行为。如果未在请求中填写,服务端会尝试从链接或者HTTP请求头中获取该IP。

os

String

设备的操作系统类型,例如Android 6.0

channel

String

渠道号。

hostAppName

String

宿主应用名称。

hostPackage

String

宿主应用包名。

hostVersion

String

宿主应用版本。

请求示例

POST /green/image/scan?clientInfo=%7b%22userId%22%3a%22120234234%22%2c%22userNick%22%3a%22Mike%22%2c%22userType%22%3a%22others%22%7d HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-MD5: C+5Y0crpO4sYgC2DNjycug==
Date: Tue, 15 May 2018 10:16:36 GMT
x-acs-version: 2018-05-09
x-acs-signature-nonce: adfkjfaHKslkjf
x-acs-signature-version: 1.0
x-acs-signature-method: HMAC-SHA1
Authorization: acs q23Q9K4PaGi12Wyk:adFff0FFO6sGcDbDNjRtso==
Host: green.cn-shanghai.aliyuncs.com/
Content-Length: 191
{
    "scenes": [
        "porn"
    ],
    "tasks": [
        {
            "dataId": "test2NInmO$tAON6qYUrtCRgLo-1mwxdi",
            "url": "https://img.alicdn.com/tfs/TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png"
        }
    ]
}

参数说明:

  • POST:表示请求方法。

  • /green/image/scan:表示请求路径。

  • clientInfo=%7b%22userId%22%3a%22120234234%22%2c%22userNick%22%3a%22Mike%22%2c%22userType%22%3a%22others%22%7d:表示经过编码后的公共请求参数。

  • Accept: application/jsonContent-Length: 191:表示HTTP请求头。其中,Accept: application/jsonAuthorization: acs q23Q9K4PaGi12Wyk:adFff0FFO6sGcDbDNjRtso==表示签名时要用到的公共请求头。

  • {}中的内容:表示JSON格式的请求体。请求体的结构取决于不同接口的定义,请参见对应的接口文档