http-little-toy v0.0.4-preview 更新

时间:2022-11-29 08:10:04

2022/11/28

http-little-toy

一个简单的 http 并发测试工具。

README.md

⭐️README.MD⭐️ En

仓库地址

如果喜欢就star⭐️一下吧,让它沉睡在你的收藏库里。

https://github.com/leihenshang/http-little-toy

https://gitee.com/leihenshang/http-little-toy

更新

v0.0.4

  • 重构项目main,拆分解耦逻辑
  • 重构参数验证,删除 -d-t 的强制验证
  • 添加 User-Agent 标识 http-little-toy [version]
  • 完善请求文件逻辑,请求文件优先级 > 命令行参数

介绍

灵感来源于 github 上各种版本的 wrk http并发测试工具,有一天看了一个go写的版本,就这?我也能行啊。我自己也造一个*吧。orz.

造*好玩吗?

真好玩!

特性

  • 命令行中加入设置 header
  • 命令行中加入设置 body 负载
  • 完善一下 request.json 请求文件的逻辑
  • 添加记录响应数据日志的功能,方便分析
  • 新增 http agent 识别tag

使用

一般使用 -d 控制请求时间(秒),-t 控制线程数(当做用户数量来理解)就可以了。

还能使用request.json文件,你不用重新编写命令参数了,不过可能还有点小问题,在完善中。

$ http-little-toy -h
Usage: httpToy <options>
Options:
       
-H
                 The http header. --default=[].
       
-allowRedirects
                 allowRedirects. --default=true.
       
-body
                 The http body. --default="".
        -caCert
                 caCert. --default="".
        -clientCert
                 clientCert. --default="".
        -clientKey
                 clientKey. --default="".
        -compression
                 Use keep-alive for http protocol. --default=true.
       
-d
                 Duration of request.The unit is seconds. --default=0.
       
-f
                 specify the request definition file. --default="".
        -gen
                 generate the request definition file template to the current directory. --default=false.
       
-h
                 show help tips. --default=false.
        
-keepAlive
                 Use keep-alive for http protocol. --default=true.
       
-log
                 record request log to file. default: './log' --default=false.
       
-skipVerify
                 TLS skipVerify. --default=false.
       
-t
                 Number of threads. --default=0.
       
-timeOut
                 the time out to wait response. --default=1000.
       
-u
                 The URL you want to test. --default="".
        -useHttp2
                 useHttp2. --default=false.
       
-v
                 show app version. --default=false.

Bash