
httprunner学习24-sign签名验证
发布日期:2021-05-09 09:02:30
浏览次数:12
分类:博客文章
本文共 3964 字,大约阅读时间需要 13 分钟。
������
���������������������������������������sign������������������������������������������apikey ,������������������������������������������������������������������������������
sign���������������������������������������sign������������������������������������������������sign������
������������������������������������������������������������������������sign���������������������
- ������������������������������������������sign���������������������������������������������p3���������p2=v2&p1=v1&method=cancel&pn=vn���
- ���������������������������������������method=cancel&p1=v1&p2=v2&pn=vn.
- ������������������������������������������������������������methodcancelp1v1p2v2pnvn
- ������������������������������������������������������������������apikey������������������abc������������������������methodcancelp1v1p2v2pnvnabc
- ������������������������������������������������������md5���������������������������abcdef������������������sign���������������������������md5���������������������������������������������������������������������������utf-8������������GBK������������������������������������������������������������������������������
POST http://127.0.0.1:8000/api/v3/login HTTP/1.1User-Agent: FiddlerContent-Type: application/jsonHost: 127.0.0.1:8000Content-Length: 111{ "username": "test", "password": "123456", "sign": "1aca01806e93bb408041965a817666af"}HTTP/1.1 200 OKDate: Sat, 26 Oct 2019 03:38:31 GMTServer: WSGIServer/0.2 CPython/3.6.0Content-Type: application/jsonVary: Accept, CookieAllow: POST, OPTIONSX-Frame-Options: SAMEORIGINContent-Length: 109{"code": 0, "msg": "login success!", "username": "test", "token": "a76ba3b8fcbdff82f6a94e5ad5bf8fb934192e5f"}
httprunner������
������httprunner���������������
- config: name: logincase variables: {}- test: name: login case1 request: url: http://127.0.0.1:8000/api/v3/login method: POST headers: Content-Type: application/json User-Agent: python-requests/2.18.4 json: username: test password: "123456" setup_hooks: - ${setup_request($request)} validate: - eq: [status_code, 200] - eq: [headers.Content-Type, application/json] - eq: [content.msg, login success!] - eq: [content.code, 0]
setup_hook������
���debugtalk.py ������setup_hook���������������������body���������������
import hashlibdef sign_body(body, apikey="12345678"): '''������body sign������''' # ������������������������key=value������ a = ["".join(i) for i in body.items() if i[1] and i[0] != "sign"] # print(a) # ���������ASCII��������������������� strA = "".join(sorted(a)) # print(strA) # ���strA���������������apiKey������striSignTemp��������� striSignTemp = strA+apikey # ���strSignTemp������������������������������������������MD5������ # MD5������ def jiamimd5(src): m = hashlib.md5() m.update(src.encode('UTF-8')) return m.hexdigest() sign = jiamimd5(striSignTemp.lower()) # print(sign) return signdef setup_request(request): '''setuphook������������������������������''' body = request.get("json") print(body) # ���body������������������sign��� sign = sign_body(body, apikey="12345678") print("sign������%s" % sign) request["json"]["sign"] = signif __name__ == '__main__': body = { "username": "test", "password": "123456" } print(sign_body(body))
������������
D:\soft\HELL\DEMO>hrun login_sign_demo.ymllogin case1{'username': 'test', 'password': '123456'}sign������1aca01806e93bb408041965a817666afINFO POST http://127.0.0.1:8000/api/v3/loginINFO status_code: 200, response_time(ms): 689.84 ms, response_length: 109 bytesINFO start to validate..----------------------------------------------------------------------Ran 1 test in 0.698sOKINFO Start to render Html report ...INFO Generated Html report: D:\soft\HELL\DEMO\reports\1572062969.htmlD:\soft\HELL\DEMO>
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月20日 05时24分38秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
IDEA Properties中文unicode转码问题
2021-05-10
CSS 不换行
2021-05-10
VS 单元测试报错处理 Castle.Core
2021-05-10
C# WinForm 圆角button
2021-05-10
.mpp文件在线打开网址
2021-05-10
webservice调用报错 SAXException
2021-05-10
Problem G. The Stones Game【取石子博弈 & 思维】
2021-05-10
洛谷多校第2轮.E——Anan and Minecraft【并查集】(判断图同构)
2021-05-10
AS构建Empty Android Things程序运行闪退
2021-05-10
HRBUST—1891 A + B Problem VII
2021-05-10
装饰模式
2021-05-10
框架综合实践(3)-业务逻辑businessView的封装
2021-05-10
Robot Framework 新建资源文件-用户关键字
2021-05-10
HDU - 4289 Control 拆点最大流,领悟拆点的真谛吧!
2021-05-10
HDU - 2732 Leapin‘ Lizards 拆点最大流+BFS 学好英语QAQ
2021-05-10
导弹拦截 NOIP1999 dilworth定理裸题
2021-05-10
应对unordered_map被卡的方法
2021-05-10
Android架构——旧版 HAL
2021-05-10
Android 音频开发——AudioTrack播放
2021-05-10