美文网首页
接口规范

接口规范

作者: Lijy_李俊阳 | 来源:发表于2017-12-12 20:48 被阅读0次

    1.请求常用符号

    符号 解释
    0或者一项,要么一项要么没有
    * 0到N项,可有可无
    + 1到N项,至少一项可多项
    1 只能填一项
    2 数据长度描述

    Fx表示指定x位长度
    Vx表示数据最长是x位,长度可变

    2.(报文)请求字符串写法

    • key =value
    • Html
    • xml
      Xml直观容易分清层级适合人来看,但是成对出现字符串长,一般转为json格式。

    xml

    <request>
    <operatorId>qqqq</operatorId>
    <province>qqqq</province>
    <city>qqqq</city>
    <district>qqqq</district>
    <channelId>qqqq</channelId>
    <channelType>qqqq</channelType>
    <promotionType>qqqq</promotionType>
    <commodityList>
    <commoditItem>
    <commodityType>qqqq</commodityType>
    <commodityCode>qqqq</commodityCode>
    </commoditItem>
    <commoditItem>
    <commodityType>qqqq</commodityType>
    <commodityCode>qqqq</commodityCode>
    </commoditItem>
    </commodityList>
    </request>

    Json

    {
    "request": {
    "operatorId": "qqqq",
    "province": "qqqq",
    "city": "qqqq",
    "district": "qqqq",
    "channelId": "qqqq",
    "channelType": "qqqq",
    "promotionType": "qqqq",
    "commodityList": {
    "commoditItem": [
    {
    "commodityType": "qqqq",
    "commodityCode": "qqqq"
    },
    {
    "commodityType": "qqqq",
    "commodityCode": "qqqq"
    }
    ]
    }
    }
    }

    3.字符编码

    1不同的字节数
    2不同编码表
    12345678123456781234567812345678

    编码格式 国家 字节字数
    ASCLL 美国 最基础的编码表
    ISO-8859-1 欧洲和美国 一个字节4个字
    GBK 中国用的字符 2个字节,两个字;
    UTF-8 全球所有字符 4个字节,一个字

    4.安全机制

    MD5单向加密:明文——加密(不可以解密)——只能对比加密结果

    客户端

    MD5签名(防篡改)

    1.要加密字段;
    2.要字段按照一定顺序排列;
    3.可选字段若为空是否加密;
    4.key字符串;
    5.md5加密;
    6.把加密的请求报文发到服务端;
    7.接收请求;
    8.服务端按照同样的方式加密一次;
    9.对比两次加密结果是否一致.

    进行自动化测试

    1.key串,加密字段,排列,为空处理方法。
    2.MD5类。
    3.BeanShellPostProcessor取出加密参数值,调用MD5加密然后将结果放入变量池。
    4.报文里通过参数化变量取签名值。

    5.RSA加密(防止信息泄漏,也防止篡改)

    双向加密:明文——加密成密文——解密——明文
    1.A向B请求;
    2.B会生产两个证书(公钥,私钥);
    3.A请求字符串加上公钥加密传给B,B用私钥解密请求字符串.

    自动化测试

    1要公钥证书,2 RSA加密算法,3生成加密字符串参数化传入接口报文
    B回调A流程
    A会生产两个证书(公钥,私钥)公钥给B
    B发起回调请求 ,使用A的公钥加密报文
    A用私钥对B报文解密

    6.验证码

    目的:防止自动登录;
    原理:服务端随机生成验证码(图片,短信,语音)客户端输入验证码要与服务端一致;

    自动化测试

    方法一:让开发把验证码功能关闭
    方法二:让开发改代码,放通特定验证码(万能验证码)if(){}elso

    7.界面session会话和cookie

    Http报文3部分

    1请求行(地址,请求方法,版本等)
    2请求头(对请求的描述)
    3请求正文(业务数据)

    浏览器cookie

    是浏览器本地数据,可以向cookie里面放东西
    1.登录的时候服务器会生成一个sessionID值,本地备份一份;
    2.sessionID值存入到响应报文响应头的cookie里面;
    3.浏览器接收到响应报文,把cookie存入到浏览器本地
    4.下一次发请求,会自动把浏览器中放入cookie值取出来,放到请求头的cookie里面;
    5.服务器收到请求会到请求头的cookie里查是否有;sessionID值如果有跟服务器本地做对比一样就说明登录过了;
    6.根据sessionID找到登录时候的用户拿到用户各类信息.
    token
    sessionID

    相关文章

      网友评论

          本文标题:接口规范

          本文链接:https://www.haomeiwen.com/subject/ahtoixtx.html