如何反复读取网页,直到网页读取成功??
如果网络不良,或者IP被暂时封了几秒,这样的情况,怎么判断网页是否读取成功,如果没有读取成功,怎么反复读取三次,直至三次均不能读取?Local $html = BinaryToString(InetRead("http://www.ncbi.nlm.nih.gov/pubmed/24406157", 1), 1) 返回为空字符串不就是读取失败吗?再在外层加一个for循环,如果读取返回值不为空则跳出循环(exitloop) 返回为空字符串不就是读取失败吗?再在外层加一个for循环,如果读取返回值不为空则跳出循环(exitloop)
时空之门 发表于 2014-7-24 19:44 http://www.autoitx.com/images/common/back.gif
读不到正常的网页,返回值不一定为空吧?
我打算用stringlens通过判断返回值的长度,如果返回的字符长度太小,则为读取失败,这样应该可行的吧? 毕竟这个用的是下载网址,网络不通时下载到的字节数@extended 必然为空
你说的读不到正常网页指什么? 毕竟这个用的是下载网址,网络不通时下载到的字节数@extended 必然为空
你说的读不到正常网页指什么?
时空之门 发表于 2014-7-24 22:14 http://www.autoitx.com/images/common/back.gif
就是读一半,或者跳转,或者其他情况 如果是我,不用那个InetReadLocal $i_F = InetGet(网址, 临时文件, 1, 1)
Do
Sleep(250) ; 延迟250毫秒检测是否下载成功,不成功就重来,直至超时
Until InetGetInfo($i_F, 2)
If InetGetInfo($i_F, 3) Then
成功
Else
下载失败
EndIf延迟时间那里,你也可以改为重复几次等条件
页:
[1]