解决方法
这是直接的方法,而不必依赖SDK中包含的代码库的语法:
阻止方法(所有程序执行都会停止,直到检索到URL):
url="http://myserver.com/anExampleQuery?getmydata&apikey=AX5GZP5LL45D987D0&format=XML" xfer=createobject("roURLTransfer") xfer.seturl(url) data=xfer.gettostring()
非阻塞方法,您可以在等待数据时执行其他操作:
url="http://myserver.com/anExampleQuery?getmydata&apikey=AX5GZP5LL45D987D0&format=XML" xfer=createobject("roURLTransfer") xfer.seturl(url) port=createobject("roMessagePort") xfer.setport(port) timer=createobject("roTimeSpan") timer.mark() xfer.asyncgettostring() while true msg=wait(100,port) '100 millisecond pause if type(msg)="roUrlEvent" then if msg.getresponsecode()=200 then data=msg.getstring() headers=msg.getresponseheadersarray() exit while else xfer.asynccancel() end if else print "do something useful while we wait for data" end if if timer.totalmilliseconds() > 500 then ?"timeout exceeded" exit while end if end while print "***************HEADERS******************" for each header in headers print header end for print "***************DATA*********************" print data print "****************************************"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。