关于POST提交数据在循环中一部分失效
Local $i = 0,$n = 0While $n <5
While $i < 10
RunWait(@ComSpec & " /C rundll32.exe " & @SystemDir & "\InetCpl.cpl,ClearMyTracksByProcess 4351", "", @SW_HIDE)
Sleep(6000)
$oHTTP = ObjCreate("microsoft.xmlhttp")
$oHTTP.Open("post","http://control.blog.sina.com.cn/admin/vote/shot_vote.php?version=7&domain=1",false)
Sleep(8000)
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
$oHTTP.setRequestHeader("Accept-Language", "zh-cn")
$oHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.setRequestHeader("Referer","http://blog.sina.com.cn/s/blog_7c1e46580100xyph.html")
Sleep(3000)
$oHTTP.Send("blog_id=7c1e46580100xyph&vote_checklist=654_3");post关键数据
Sleep(3000)
$i = $i + 1
WEnd
$n = $n + 1
Sleep(600000)
WEnd关键的代码在上面,然后我疑惑的事情是 前面10次成功了,然后票数再也没有多过,搜索了论坛里面的教程也都没有讲到这一方面的作用。
在这里也感谢一下出教程的兄弟,虽然不记得他的ID了,还是感谢下吧。
如果改成单循环 直接50次 貌似也是只有前面10次有效 好奇怪的问题。 win7 32位系统+ie9 刚刚测试了下,只有一个循环,然后在循环结束之后弹出$i的值,发现循环了这么多次
但是票数没有多,证明中间网页打开失效?
那问题就是怎么判断网页加载完毕了呢? 你这中间加的延时代表啥呢 表示学习Whil 还在学习中·· 你这中间加的延时代表啥呢
justwait 发表于 2011-11-18 07:23 http://www.autoitx.com/images/common/back.gif
开始没有加 后面发现只有10票成功 我在想是不是因为网页没有加载完毕导致的。。就试了试。。 本帖最后由 republican 于 2011-11-18 20:43 编辑
回复 1# 兔子先生
$oHTTP.Send 之前都只是初始化实例,不会与服务器连接的,你之前的sleep只是在浪费时间.
send本身也是阻塞语句,等数据成功发送后自然会返回,所以也没必要sleep。
想看post是否成功,获取服务器的返回值即可。 回复兔子先生
$oHTTP.Send 之前都只是初始化实例,不会与服务器连接的,你之前的sleep只是在浪费时间. ...
republican 发表于 2011-11-18 20:39 http://www.autoitx.com/images/common/back.gif
谢谢指教
页:
[1]