免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4373 | 回复: 12
打印 上一主题 下一主题

[Web] 有关apache的ab用法 [复制链接]

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00数据库技术版块每日发帖之星
日期:2015-10-12 06:20:00数据库技术版块每日发帖之星
日期:2015-10-15 06:20:00数据库技术版块每日发帖之星
日期:2015-10-30 06:20:00综合交流区版块每月发帖之星
日期:2015-12-02 14:59:01数据库技术版块每日发帖之星
日期:2015-12-15 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-06 12:10 |只看该作者 |倒序浏览
-p POST file
                 A file containing data  that  the  program  will
                 send  to  the  Apache  server  in  any HTTP POST
                 requests. The contents of the file  should  look
                 like  name=value&something=other,  with  special
                 characters URL encoded.

ab -p file "http://aa.com/login.php"
因login.php需要登陆才能完成打开页面,请较一下-p后file文件内容的书写格式是怎样的?谢谢!

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2005-12-06 12:18 |只看该作者

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00数据库技术版块每日发帖之星
日期:2015-10-12 06:20:00数据库技术版块每日发帖之星
日期:2015-10-15 06:20:00数据库技术版块每日发帖之星
日期:2015-10-30 06:20:00综合交流区版块每月发帖之星
日期:2015-12-02 14:59:01数据库技术版块每日发帖之星
日期:2015-12-15 06:20:00
3 [报告]
发表于 2005-12-06 12:46 |只看该作者
不大明白!

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2005-12-06 13:22 |只看该作者
这个,没有相关知识你没办法作这个的阿

ftp://ftp.rfc-editor.org/in-notes/rfc2965.txt

需要自己研究哦。

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00数据库技术版块每日发帖之星
日期:2015-10-12 06:20:00数据库技术版块每日发帖之星
日期:2015-10-15 06:20:00数据库技术版块每日发帖之星
日期:2015-10-30 06:20:00综合交流区版块每月发帖之星
日期:2015-12-02 14:59:01数据库技术版块每日发帖之星
日期:2015-12-15 06:20:00
5 [报告]
发表于 2005-12-06 15:18 |只看该作者
没有人用过??

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2005-12-06 21:07 |只看该作者
沒有這麼難,只要看一下 RFC 2616 中有關 Method 就可以了,
範例:

  1. ab -p post  -T "application/x-www-form-urlencoded" http://host/path/filename
复制代码

檔案格式

  1. a=1&b=2&c=3
复制代码

-T 應該是這個需求下必需的 , default 是 "text/plain"  
只要樓主有心把 ab.c 中的 code 看過一遍就知道了,我幫你看了省你費事

  1.         sprintf(request, "POST %s HTTP/1.0\r\n"
  2.                 "User-Agent: ApacheBench/%s\r\n"
  3.                 "%s" "%s" "%s"
  4.                 "Host: %s%s\r\n"
  5.                 "Accept: */*\r\n"
  6.                 "Content-length: %" APR_SIZE_T_FMT "\r\n"
  7.                 "Content-type: %s\r\n"
  8.                 "%s"
  9.                 "\r\n",
  10.                 (isproxy) ? fullurl : path,
  11.                 AP_AB_BASEREVISION,
  12.                 keepalive ? "Connection: Keep-Alive\r\n" : "",
  13.                 cookie, auth,
  14.                 host_field, colonhost, postlen,
  15.                 (content_type[0]) ? content_type : "text/plain", hdrs);
复制代码

我想這樣看就一目了然了(上面不懂代表您不了解 HTTP),這是 google 沒有的東西
要注意的是 Content-type 和 post data 的關係,不同的 type 有不同的 post encoding

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00数据库技术版块每日发帖之星
日期:2015-10-12 06:20:00数据库技术版块每日发帖之星
日期:2015-10-15 06:20:00数据库技术版块每日发帖之星
日期:2015-10-30 06:20:00综合交流区版块每月发帖之星
日期:2015-12-02 14:59:01数据库技术版块每日发帖之星
日期:2015-12-15 06:20:00
7 [报告]
发表于 2005-12-07 09:32 |只看该作者
谢谢abel 的帮助.
我写了一个PHP文件,名字为bb.php内容如下:
$uid="lg";
$pass="lg";
if ($uid==$_REQUEST["uid"] && $pass==$_REQUEST["pass"]) {
sleep(10);
echo "ok";
}else
echo "no";
?>
<form action="<?= $_SERVER["PHP_SELF"] ?>" method="POST">
<input type="text" name="uid">
<input type="password" name="pass">
<input type="submit" value="submit">
</form>
可以通过:http://192.168.0.123/bb.php来访问
存放post的文件为auto,内容为:
uid=lg&pass=lg
我通过ab来打开这个页面
localhost[/home/htdocs] -root-#/usr/local/apache2/bin/ab -p auto -T "text/html" http://192.168.0.123/bb.php
如果Time per request: 的值大于10s才说明通过了验证,对吗?
可结果是56ms.请abel 指点迷津.谢谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2005-12-07 09:55 |只看该作者
原帖由 love100 于 2005-12-7 09:32 发表
谢谢abel 的帮助.
我写了一个PHP文件,名字为bb.php内容如下:
$uid="lg";
$pass="lg";
if ($uid==$_REQUEST["uid"] && $pass==$_REQUEST["pass"]) {
slee ...

1. 我不確定 ab 輸出結果的意義,還沒有研究過
2. 你可以在 php 程式中,將 $_POST['xxx'] 得到的東西 output 到 file 去,我在幫您找答案時是這麼做的
  (ex:  system("echo $uid/$pass > /tmp/ab_test"); )
3.
<form action="<?= $_SERVER["PHP_SELF"] ?>" method="POST">
<input type="text" name="uid">
<input type="password" name="pass">
<input type="submit" value="submit">
</form>

POST data 應為如下才是正確
uid=$uid&pass=$pass&submit=submit

其他就看您還有什麼問題,做這些東西或事情通常我都用 nc 這個指令來做,而像 wget/lynx/curl 也都可做到
以指令方法去傳送 post data   (Cookie 等也都行)

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00数据库技术版块每日发帖之星
日期:2015-10-12 06:20:00数据库技术版块每日发帖之星
日期:2015-10-15 06:20:00数据库技术版块每日发帖之星
日期:2015-10-30 06:20:00综合交流区版块每月发帖之星
日期:2015-12-02 14:59:01数据库技术版块每日发帖之星
日期:2015-12-15 06:20:00
9 [报告]
发表于 2005-12-07 10:27 |只看该作者
post data 的格式修改为:
uid=lg&pass=lg&submit=submit
后,还不太好用.

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2005-12-07 10:32 |只看该作者
原帖由 love100 于 2005-12-7 10:27 发表
post data 的格式修改为:
uid=lg&pass=lg&submit=submit
后,还不太好用.

还不太好用 ? 什麼意思,不 work 嗎 ?
你的 ab -T 項目我不確定在 text/html 下能否正常
而我的例子裏只做了一種常見的方式
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP