apache bench(ab)压力测试模拟POSt请求,传参数问题
如题,现在需要使用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参数传到后台?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
看我回答
解决了没
老乡呀
服务器上先关掉web server, 然后执行nc -l 80, 监听传到80端口的所有数据.这时用浏览器请求一次,浏览器post的数据都会被nc拿到,现在你就看到post的数据是什么样子了.
没用过ab,是不是需要urlencode 以前用python做过post压力测试的,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里面的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个小时内还不能回答,严重打击回复,分享着的积极性