关于POST数据容错处理的问题
$oHTTP = ObjCreate("Msxml2.xmlhttp")
;Post提交方式
$oHTTP.Open("Post","www.126.com",false)
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
$oHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.setRequestHeader("Referer","www.126.com")
$oHTTP.Send("")
$oHTTP.Responsetext
以上代码是一段POST向服务器提交数据返回页面内容的代码,但是现在遇到一个非常棘手的问题,就是,用户在没有网络的情况下,如何容错?【容错就是发生异常的处理】
在有网络和网路畅通的情况下,这里没问题,但是在没有网络或者网路异常的情况下,程序执行到 $oHTTP.Send("") 就会出错!程序直接结束!是一个很严重的BUG。
也不知道oHTTP 有没有返回状态 成功和失败的状态!
注:我已查阅帮助,并没有相关的说明!
已使用解决办法:
使用:错误处理函数;错误处理函数
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
Func MyErrFunc()
$HexNumber=hex($oMyError.number,8)
Msgbox(0,"","We intercepted a COM Error !" & @CRLF & _
"Number is: " & $HexNumber & @CRLF & _
"Windescription is: " & $oMyError.windescription )
$_eventerror = 1
Endfunc无效并未解决
再者就是程序在Post数据开始前就进行网络的检测!这个办法只能解决一时的问题,比如我Post数据前网络还正常,中途网络发生故障,程序会直接挂掉。这种错误是不允许的,请教高手有什么好的办法么?小弟不才! 难道就没高手站出来么? :face (37):等待高手出现... 筒子.....................
$oHTTP.Open("Post","www.126.com",false)
http://呢? 被你吃了? 嗯,吃了! $oHTTP.Open("Post","www.126.com",false)
改成 $oHTTP.Open("Get","http://www.126.com",false) $oHTTP.Open("Post","www.126.com",false)
改成 $oHTTP.Open("Get","http://www.126.com",false)
rho123 发表于 2010-1-30 14:43 http://www.autoitx.com/images/common/back.gif
嗯,这个之前的源代码是没错的,为了防止别人看到我的的源代码地址,这个是替换了真实网址的,不过就算加上http 结果是一样的,我的问题依旧存在!
页:
[1]