随笔-shell发送请求并分析

et1=0;
init(){
		#更新唯一业务id
        rm *$1.htm*
        dates=`date "+%Y%m%d%H%M%S"`
        bp=`echo s/\\"businessid\\":\\"[0-9]*\\"/\\"businessid\\":\\"$dates\\"/`
        sed -i $bp $1
}
doPost(){
	#Post请求并计时
	d1=`date +%s.%N`
	wget --header='"Accept:text/xml,text/javascript,text/html,application/json"' \
	--header='Content-Type:application/json;charset=utf-8' \
	--load-cookies=login.cookie \
	--save-cookies=login.cookie \
	--keep-session-cookies \
	--post-file=$1 \
	http://url/$1.htm
	d2=`date +%s.%N`
	et=`echo $d2 - $d1|bc`
	et1=`printf "%2.8f" $et`
}
doResult(){
#分析结果
	cat $1.htm|grep -Po '((resultCode":")|(resultCode": "))[0-9]*"'
	cat $1.htm|grep -Po 'resultMsg":".*?"'
	rcode=`cat $1.htm|grep -Po '((?<=resultCode":")|(?<=resultCode": "))[0-9]*'`
	resultMsg=`cat $1.htm|grep -Po '((?<=resultMsg":)|(?<=resultMsg": ))[0-9]*'`
	if [ $rcode -eq 1000 ]
	then
	echo $2 $resultMsg >> Result
	fi
	#给cookiename的值加双引号 首字符不是数字就不加了
	session=`tail -n 1 login.cookie |awk '{ print $7 }'`
    flagc=`echo $session|expr substr "$session" 1 1`
        if [[ $flagc =~ [0-9]{1} ]]; 
        then
                p=`echo s/$session/\\"$session\\"/`
                tail -n 1 login.cookie|sed -i $p login.cookie
        fi  
}

doAction(){
	init $1
    doPost $1
	doResult $1 $2
	sleep 1
}
#从源文件读取数据集
sources=`cat source.txt |awk '{ print $1 }'`
for num in $sources
do
	#更换loginid
	bp=`echo s/\\"loginId\\":\\"[0-9]*\\"/\\"loginId\\":\\"$num\\"/`
    sed -i $bp action_name
	doAction action_name $num
done


posted @ 2014-01-07 10:31  zymaxs  阅读(309)  评论(0)    收藏  举报