VB6.0:如何通过xmlhttp对象,获取多个URL的HTML代码?
发布网友
发布时间:2022-04-12 12:47
我来回答
共2个回答
热心网友
时间:2022-04-12 14:16
建议采用异步方式调用xmlhttp,然后通过轮询的方式不断检测xmlhttp的readyState属性,等于4的时候就可以读取数据,完毕后就可以继续读取下一个页面了。
读取数据的时候,还应该检测xmlhttp的status属性,只有200才表示返回的是正确的网页数据,而其他如404表示未找到网页、500表示服务器错误等等。
轮询的时候可以加个计数器,达到某个数值时就跳出继续读取下个网页或结束读取,这样就可避免某个网页打开速度过慢而影响整个读取过程。
更好的解决办法是一次性声明多个xmlhttp对象变量(建议用数组),这样就可以同时获取多个网页的代码。当然这种情况下就必须使用异步调用方式。追问额...
不好意思了,之前没看到你的答案...
热心网友
时间:2022-04-12 15:34
给你推荐一个:
Function getHtmlStr(strUrl As String) '获取源码
On Error Resume Next
Dim XmlHttp As Object, stime, ntime
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.open "GET", strUrl, True
XmlHttp.send
stime = Now '获取当前时间
While XmlHttp.ReadyState <> 4
DoEvents
ntime = Now() '获取循环时间
If DateDiff("s", stime, ntime) > 3 Then getHtmlStr = "": Exit Function ‘3秒获取不到就退出获取
Wend
getHtmlStr = StrConv(XmlHttp.responseBody, vbUnicode)
Set XmlHttp = Nothing
End Function
使用:
abc=getHtmlStr("http://www.baidu.com")
1、判断是否获取到内容,判断abc的值就可以了
2、加载慢超时问题,只能重复获取,时间太长,容易造成软件假死不稳定等问题。