脚本开发工具:idea64(压测工具为甲方采购的第三方压测工具,脚本基本idea64编辑器调试,压测工具非LR)
项目背景:
二、接口介绍
每个接入用户提供一个用户名AccessKeyID、秘钥AccessKeySecret;使用秘钥基于HMC-SHA1算法进行请求内容的加密和解密;
三、URL生成规则
URL字符说明:
对于字符 A-Z、a-z、0-9 以及字符“-”、“_”、“.”、“~”不编码;
对于其他字符编码成 “%XY” 的格式
对于扩展的 UTF-8 字符,编码成 “%XY%ZA…” 的格式
需要说明的是英文空格( )要被编码是 %20,而不是加号(+)
时间类型"yyyy-MM-dd'T'HH:mm:ss'Z'"
SignatureNonce为32位随机数UUID,生成一个不重复的32位的随机数即可
Signature生成规则:
连接内容排序:将本URL中,除Signature外其他所有参数,按照参数名称的字典顺序
使用AccessKeySecret基于HMC-SHA1算法加密
对加密结果用MD5加密
举例参数:
AccessKeyID=userid
AccessKeySecret=password
TimeStamp=2016-02-23 12:46:24
SignatureNonce=4028e6b8614682c301614682c3510000
根据参数名排序后:
AccessKeyID=userid&SignatureNonce=4028e6b8614682c301614682c3510000&TimeStamp=2016-02-23T12:46:24
使用AccessKeySecret基于HMC-SHA1算法加密及MD5加密算法示范:
输出结果:D29569843EB9DFA0F59E921F32D24973
生成请求URL:
https://ivs.baiwang.com/collect?AccessKeyID=userid&TimeStamp=2016-02-23T12:46:24Z&SignatureNonce=123456&Signature=D29569843EB9DFA0F59E921F32D24973
入参数据校验:
检查该接口参数数量、字段类型、长度是否一致,否则提示错误:005
检查AccessKeyID授权是否过期,已过期则提示错误:103。目前开通的AccessKeyID未设置
TimeStamp不能和本系统时间差异不能超过5分钟,否则提示错误:003
根据AccessKeyID检查该接口是否有权限访问,否则提示错误:102
SignatureNonce是否已被占用,被占用则提示:004
检查Signature是否正确,否则提示错误:001
TaxNo不能为空,且TaxNo必须存在,否则提示错误703
Jason入参必须存在,否则提示错误704
JSON入参说明:
{
AccessKeyID:””, //用户名
TaxNo:””, //初始化发票的税号
Version: ””, //版本号,默认为1.0(参考文档版本的前两位数字)
}