找回密码
 加入
搜索
查看: 2678|回复: 6

关于POST数据容错处理的问题

[复制链接]
发表于 2010-1-28 15:38:43 | 显示全部楼层 |阅读模式
$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数据前网络还正常,中途网络发生故障,程序会直接挂掉。这种错误是不允许的,请教高手有什么好的办法么?小弟不才!
 楼主| 发表于 2010-1-28 20:50:56 | 显示全部楼层
难道就没高手站出来么?
 楼主| 发表于 2010-1-29 17:20:04 | 显示全部楼层
等待高手出现...
发表于 2010-1-29 20:46:51 | 显示全部楼层
筒子.....................

$oHTTP.Open("Post","www.126.com",false)

http://呢? 被你吃了?
 楼主| 发表于 2010-1-30 14:33:16 | 显示全部楼层
嗯,吃了!
发表于 2010-1-30 14:43:11 | 显示全部楼层
$oHTTP.Open("Post","www.126.com",false)
改成 $oHTTP.Open("Get","http://www.126.com",false)
 楼主| 发表于 2010-1-30 14:49:38 | 显示全部楼层
$oHTTP.Open("Post","www.126.com",false)
改成 $oHTTP.Open("Get","http://www.126.com",false)
rho123 发表于 2010-1-30 14:43

嗯,这个之前的源代码是没错的,为了防止别人看到我的的源代码地址,这个是替换了真实网址的,不过就算加上http 结果是一样的,我的问题依旧存在!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-29 17:34 , Processed in 0.077112 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表