如何为400个用户生成用户帐户以进行负载测试?
Htdigest每次强制你输入一个密码,我尝试过dos管道
echo password > htdigest -c realm username%1 htdigest -c realm username%1 < password.txt
但它不起作用......
您还可以查看trac在其网站上为htdigest密码分发的python脚本,然后您可以将其自动化:
在没有Apache的情况下生成htdigest密码
他们还建议沿着这些方向发挥作用:
可以使用md5sum实用程序使用以下方法生成摘要密码文件:
$ printf "${user}:trac:${password}" | md5sum - >>user.htdigest
并从末尾手动删除" - "并将"$ {user}:trac:"添加到"to-file"行的开头.
我在FreeBSD上测试了这个,不确定这是否可以在Linux或Windows上运行,所以你可能需要稍微修改一下:
(echo -n "user:realm:" && echo -n "user:realm:testing" | md5) > outfile
outfile包含:
user:realm:84af20dd88a2456d3bf6431fe8a59d16
与htdigest相同:
htdigest -c outfile2 realm user
输出在outfile2中
user:realm:84af20dd88a2456d3bf6431fe8a59d16
它们都是相同的,从而证明了命令行实现的正确性!
(旁白:在unix/linux上,第一个应该是:
echo password | htdigest -c realm username$1
)
由于htdigest没有任何传递密码的好方法,我会使用expect
自动化过程.
来自http://www.seanodonnell.com/code/?id=21的一个例子:
#!/usr/bin/expect ######################################### #$ file: htpasswd.sh #$ desc: Automated htpasswd shell script ######################################### #$ #$ usage example: #$ #$ ./htpasswd.sh passwdpath username userpass #$ ###################################### set htpasswdpath [lindex $argv 0] set username [lindex $argv 1] set userpass [lindex $argv 2] # spawn the htpasswd command process spawn htpasswd $htpasswdpath $username # Automate the 'New password' Procedure expect "New password:" send "$userpass\r" expect "Re-type new password:" send "$userpass\r"
如果需要,它将作为练习留给用户将其转换为Windows.