找回密码
 加入
搜索
查看: 3134|回复: 9

[AU3基础] _INetGetSource()能不能加个时间限制?

  [复制链接]
发表于 2011-4-3 23:52:35 | 显示全部楼层 |阅读模式
想取某个网址。有时用_INetGetSource()访问某个网站太慢了。想加个时间判断,如,若超过3秒,则取消访问。
 楼主| 发表于 2011-4-4 00:08:44 | 显示全部楼层
好象访问网络的函数,都没有“超时时间”设置,象msgbox()那样的
 楼主| 发表于 2011-4-4 10:11:03 | 显示全部楼层
有时网络太慢,结果脚本就卡在那里半天,特别是访问国外的网站。有时能卡上半分钟,大家有没有办法对这种情况加个判断,超过5秒钟,若得不到得结果,就不访问这个网页了?

其实我用这个函数也就是主要提取某网页上的一个字符串而已,有没有变通的办法?
发表于 2011-4-4 16:54:11 | 显示全部楼层
如果只是为了获得网页上的东西,不妨用winhttp,可以设置超时时间。
如果非要用_INetGetSource(),不妨加到timer里,让它自己去访问而不阻断主进程
发表于 2011-4-4 20:01:41 | 显示全部楼层
本帖最后由 kxing 于 2011-4-4 20:04 编辑

用inetget
const $tnp=@scriptdir&"\~baidu.tmp"
$hDown=inetget("http://baidu.com",$tmp,1,1)

$timeout=timerinit()
do
if inetgetinfo($hDown,4) then exitloop
if timerdiff($timeout)>=3000 then
msgbox(16,"错误","连接服务器超时!")
exitloop
endif
sleep(100)
until inetgetinfo($hDown,2)
inetclose($hDown)

Local $htm=FileRead($tmp)
FileDelete($tmp)

msgbox(0,'ok',$htm)
 楼主| 发表于 2011-4-8 22:50:50 | 显示全部楼层
谢楼上两位。这样也勉强可以了。
发表于 2011-4-8 23:27:22 | 显示全部楼层
WinInet,Winhttp,winsocket,你都可以选择使用。
发表于 2011-4-9 09:10:28 | 显示全部楼层
想加延迟,太可以了,先把不延迟的放到你的脚本按要求改就是了
发表于 2011-4-9 19:08:45 | 显示全部楼层
新手学习学习
发表于 2011-4-9 19:42:58 | 显示全部楼层
这个真没办法完全解决,如果GUI比较复杂,该卡的时候还得卡,最好是加载界面之前就把数据下载好,或者在下载的时候关闭所有消息处理函数
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 10:46 , Processed in 0.087265 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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