zoukankan      html  css  js  c++  java
  • 如何使用jMeter发送两个逻辑上相关的HTTP请求

    在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我通过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操作。

    现在我有另一个需求场景:假设我开发了一个创建Service Request的微服务,需要使用HTTP post调用。为了防止Cross Site Request Forgery(跨站域请求伪造),这个微服务调用时需要传一个XSRF token,这个XSRF token需要另一个HTTP get请求从服务器请求。

    因此,这里存在两个逻辑上相关的HTTP请求:

    1. 先调用HTTP get从服务器读取XSRF token

    2. 将第一步获得的XSRF token作为HTTP post 请求头部的一个参数传至服务器。

    用jMeter怎么实现这个场景呢?

    总的思路就是使用Transaction Controller,将http get请求和http post请求包在一起,如下图所示。

    在第一个http get请求里,使用HTTP头部参数x-csrf-token去读取token。

    创建一个参数jerrycsrftoken,使用正则表达式将服务器通过HTTP响应头部返回的token解析出来并保存。

    然后创建第二个HTTP post请求,在请求头部使用第一个请求创建的参数jerrycsrftoken即可。

    这是我HTTP post请求的body内容,里面使用了jMeter自带的随机数发生器作为创建成功的Service Request的后缀。

    最后使用jMeter成功创建的Service Request在系统显示如图:

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    redis线程模型
    同步容器和并发容器
    200+面试题
    redis pipeline
    redis事务和脚本
    redis事务
    redis优缺点
    redis持久化策略
    Redis为什么要把所有数据放到内存中?
    redis的过期策略以及内存淘汰机制
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/8969507.html
Copyright © 2011-2022 走看看