首页 > 代码库 > hb:一个简单的 http/web bench 工具

hb:一个简单的 http/web bench 工具

两周没写东西了,主要是在学习一点C,参考 webbench 写了个工具。刚刚写完,也不知道好不好用,同学们有兴趣也帮我测一测,提点意见。

项目位于 https://github.com/heiing/hb

克隆下来后,使用 make 编译即可。

./hb [OPTIONS] URL
OPTIONS:
  -h | --help                  Print this information and exit.
  -v | --version               Display program version and exit.
  -c | --clients <n>           Run <n> clients, default one.
  -t | --time <second>         Run <second> seconds, default 30. 
  -m | --method <n>            Use HTTP method, default GET:
                                  GET,POST,PUT,DELETE,HEAD,TRACE,PATCH
                                  PROPFIND,COPY,MOVE
  -p | --protocol <n>          Use HTTP protocol, default 2:\n"           
                                 0 - HTTP/0.9
                                 1 - HTTP/1.0
                                 2 - HTTP/1.1
  -f | --file <path>           Use file for POST/PUT method. 
  -P | --proxy <server:port>   Use proxy for request.

示例:

./hb -m POST -f postdata.txt http://example.com/foo


可以通过 -f 参数指定请求的数据,数据文件为 http 协议格式,使用一个空行分隔 head 和 body。不需要头部时,以一个空行开始。例如:

name=hb&version=0.0.1


包含头部的示例:
User-Agent: my agent 1.0
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=1234567890123456

name=hb&version=0.0.1


当程序运行结束后,按响应码统计请求数。


hb:一个简单的 http/web bench 工具