接口测试 Python+requests 请求接口,接口需要签名认证,签名认证规则解析好生成 MD5 值,但是不知道该怎么带上 MD5 值进行接口请求了。找了好多资料都没有

kaka谁说不是 · 2018年07月05日 · 最后由 kaka谁说不是 回复于 2018年07月05日 · 3506 次阅读

请各位大佬帮一把。。。感谢感谢!!!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 14 条回复 时间 点赞

这个要看你的接口定义,sign是怎么送到服务器的,一般就两种吧

  • 一种是直接加到 url 后面,比如http://www.xxx.com/get?name=xxx&sign=xxxxxxx
  • 还有一种作为 post 参数传给服务器,那这样那你在你的post_param加上你的sign了,post_params['sign']=sign

当然你参数名字我不知道,你要看你自己接口定义了
还有就是你传参如果用data要先把字典转成字符串,如果要直接送字典,关键字data可以换成json
不知道你接口什么样,还是不评论了

把你那个 sign=?作为一个参数放进 data 里,请求就行了

雨夜狂奔 回复

你说的参数名字你不知道,指的是 post_params['sign'] 的这个 sign 吗? 因为我在我们的接口文档里没看到要求 signature...的具体要求,规则还是我自己去翻了源代码。才找出来的。。。

黑山老妖 回复


这样子? 把这个作为 data 去请求??

对的。不过觉得携程 “singn”=sign 比较好,因为 sign 毕竟会变得

晕,参数到底放在 body 还在 query string 要去问的啊,不能靠猜!

黑山老妖 回复

每次输入不同就会变得,所以我是每次请求都会去生成一次的。 但是这样子还是报原来的错。。欲哭无泪!!!

雨夜狂奔 回复

不要误导人家,楼主的 Content-Type 写的很清楚,就是要用 data。json 的 Content-Type 是"application/json; charset=utf-8"

你是没开发可问吗?还是在做爬虫?

报啥错啊,截个图看看。提示未登录之类的吗

15楼 已删除
chen 回复

我是刚刚来这边公司,开发忙着。。 没人理我 我就拿了源码自己研究了。。。刚刚有了进展了。 signature 是要放在 url 里的。不是放在请求体里。。刚刚这样就没有报错了。。而且非必填项就算为空也要把 key 值放进去。。。我再继续研究了。

黑山老妖 回复

就是验证未通过的报错,然后我把 signature 放在 url 里面就好了。

加油,不过有时还是问问会更有效率。😀

chen 回复

嗯嗯,感谢感谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册