本帖最后由 gyhhi 于 2015-12-17 17:57 编辑
内部的一个小网站,我做了个很简单的抢票程序,每天8点整网站开始放票,若还没到8点就抢票,网页会返回“尚未开始”的提示,下面的POST程序保证没问题,返回值正常,可以读到“尚未开始”,与httpwatch截获的内容一致。
为保证能抢到,我是7点59分就开始不停地post数据,for循环速度只有可怜的3~4次每秒,也就是相当于250毫秒才能提交一次,这速度有时候还不如手工···
关键程序在下面,不过只能在我们的内网使用,大家应该是运行不了。就是想让大伙看看,为什么循环的速度这么慢?????
(抢票时不需要验证码);前面是用POST登陆网站,内容略去,大家只看下面
MsgBox(0,"ok","登陆成功")
;登陆成功,下面开始抢票
$PostPage='http://XXXXXXXXX已隐藏xxxx';抢票的post URL
$PostData='Command=GetTickets&Code=2&DateType=Today&TimeType=ALL&DeptID=1' ;post内容是明文,而且是固定的
For $ii=1 To 100000
$xmlhttp.open("POST", $PostPage, True);异步模式->不用等待网站的回应。用同步模式会更慢
$xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');头信息
$xmlhttp.send($PostData);抢票
;~ $bodytext = BinaryToString($xmlhttp.responseBody, 4);
;~ ConsoleWrite($bodytext&@CR)
ToolTip($ii);显示循环次数,用来观察抢票的速度
Next
|