开发者社区> 问答> 正文

apache bench(ab)压力测试模拟POSt请求,传参数问题 400 请求报错 

如题,现在需要使用AB模拟POST请求向后台传参数:

ab -n 3 -c 3 -p post.txt -T 'application/x-www-form-urlencoded' http://192.168.1.176:8080/xx.do
其中post.txt,是参数信息:内容为 page=1&qixian=All&level=A&shouyi=C。试了下,后台获取不到参数,又照网上说的改成{"page":1,"qixian":"All","level":"A","shouyi":"C"},还是不行。求指导,怎么能POST参数传到后台?

展开
收起
kun坤 2020-05-30 14:59:14 1675 0
1 条回答
写回答
取消 提交回答
  • ab -n 3 -c 3 -p post.txt -T application/x-www-form-urlencoded http://192.168.1.176:8080/xx.do
    另外,post.txt里面的post数据要放你的json数据,比如data={"id":"1234"}但是注意要进行urlencode加密(tool.lu),于是真正放在post.txt里面的内容就是data=%7B%22id%22%3A%221234%22%7D,还有要注意,不要自己在windows上建一个post.txt放数据,而是使用比如eclipse或者notepad++,因为自己建一个txt会在文件开头有一个特殊字符,这样解析不了。我是用的intellij idea开发,用它建的txt文件。搞好之后你再ab以下肯定可以了。。。。

    另外,吐槽以下oschina,敢顶着china的口号,却做的如此不堪,不明白,有个gmail登录却不建议,注册了以后1个小时内还不能回答,严重打击回复,分享着的积极性 ######网上试了好几种,都获取不到参数! ######没用过ab,是不是需要urlencode 以前用python做过post压力测试的,post数据类型也是字典,要编码才行######服务器上先关掉web server, 然后执行nc -l 80, 监听传到80端口的所有数据.这时用浏览器请求一次,浏览器post的数据都会被nc拿到,现在你就看到post的数据是什么样子了.######老乡呀######解决了没######看我回答

    2020-05-30 14:59:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像