前言
紧接上文使用postman自动生成签名并发送,但是实际开发中可能发送的body并不是form-data形式,可能是raw的json或者xml,同样会面临这个问题,这时候就需要自定义发送网路请求了。
正文
同样打开到postman的请求中,同上文一样,还是用form-data形式填写参数
Pre-request-script中我们依旧获取这些值,获取完成之后调用内置的网络请求函数,其中sendData为发送的原生的格式的json字符串
const loginRequest = {
url: 'xxxx',
method: 'POST',
body: {
mode: 'raw',
raw: sendData
}
};
查看返回结果
打开控制台
完整实例
var ip =request.data['ip'];
var uid=request.data['uid'];
var appid=request.data['appid'];
var timestamp=(new Date()).getTime().toString();
var time= timestamp.substr(0,10);
var key =request.data['key'];
var str = appid+ip+time+uid+key;
var sign=CryptoJS.MD5(str).toString();
var posturl="http://xxxxxx/userinfo/getLocation.html";
var obj ={
time:time,
ip:ip,
uid:uid,
channel:request.data['channel'],
game_id:request.data['game_id']
}
postData=JSON.stringify(obj);
str1=postData+request.data['game_key'];
sendData=CryptoJS.MD5(str1).toString()+postData;
const loginRequest = {
url: posturl,
method: 'POST',
body: {
mode: 'raw',
raw: sendData
}
};
//发送请求
pm.sendRequest(loginRequest,function(err,res){
console.log(res);
})