javarequest添加token

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javarequest添加token相关的知识,希望对你有一定的参考价值。

使用Java Request添加令牌可以有效地提供客户端和服务器之间的身份验证和授权,确保客户端发出的请求是可信任的。要添加令牌,首先需要在服务器端生成一个令牌,然后将其作为Header部分发送给客户端,最后,客户端将令牌作为参数附加到request中,发送给服务器。服务器端收到请求后,会检查令牌是否有效,如果有效,则表示客户端的身份可信任,服务器可以处理该请求。 参考技术A 支持跨域访问,将token置于请求头中,而cookie是不支持跨域访问的;
2、无状态化,服务端无需存储token,只需要验证token信息是否正确即可,而session需要在服务端存储,一般是通过cookie中的sessionID在服务端查找对应的session;
3、无需绑定到一个特殊的身份验证方案(传统的用户名密码登陆),只需要生成的token是符合我们预期设定的即可;
4、更适用于移动端(androidios,小程序等等),像这种原生平台不支持cookie,比如说微信小程序,每一次请求都是一次会话,当然我们可以每次去手动为他添加cookie

postman添加全局变量解决token问题

问题:

使用postman做接口测试时,需要在headers里添加token信息,token使用每次都需要重新添加很麻烦,在网上找了教程,直接复制粘贴上去,结果总是失败,后来用脑子看了下返回结果不一样,导致出现错误,以下为思考过程

解决方法:全局变量(具体方法https://blog.csdn.net/qq_30036559/article/details/79462522)

网上添加的代码:

var data = JSON.parse(responseBody);
if (data.data.token) {
tests["Body has token"] = true;
postman.setEnvironmentVariable("token", data.data.token);
}
else {
tests["Body has token"] = false;

实际使用的代码:

添加全局变量在登陆的接口页面的Tests,添加代码

var data =JSON.parse(responsBody)

postman.setEnvironmentVariable("token",data.token)

设置全局变量时遇到的问题:

直接在网上复制粘贴代码到Tests,因为responsBody的数据结构不一样,网上示例的token是放在data里面的,所以是postman.setEnvironmentVariable("token", data.data.token);,但测试的接口是

在data外面的,postman.setEnvironmentVariable("token",data.token)

脑子

以上是关于javarequest添加token的主要内容,如果未能解决你的问题,请参考以下文章

JMeter元件详解之 Interleave Controller 交替控制器

Jmeter javaRequest插件开发

Httprunner的基本使用

HttpRunner使用总结

HttpRunner使用总结

Jmeter里的全能java测试sampler - Java request