<link href="baidu.css" rel="stylesheet" type="text/css"> <%
sub main()
t5=timer Dim xmlhttp
set xmlhttp=Server.CreateObject("Msxml2.xmlhttp")
url="http://www.baidu.com/" param=getrequest()
param=replace(param,"keyword","wd")
if param=""then param="baidu?wd=word" else url=url&"s?" endif url=url¶m
ww url
xmlhttp.open "get",url,false xmlhttp.send
d=xmlhttp.ResponseBody
t6=timer ww "xmlget costs:"&t6-t5
d=cut(d)
ww "strclean costs:"&timer-t6
wb d
set xmlhttp=nothing d="" end sub call main
'此函数实现对byte类型操作 function replaceb(str,find,replacewith)
positiona=1 i=0 while instrb(positiona,str,find)
positiona=instrb(positiona,str,find)
strleft=leftb(str,positiona-1)
strRight=rightb(str,lenb(str)-positiona-lenb(find)+1)
str=strleft&replacewith&strRight
i=i+1 if i>60then exitfunction endif wend replaceb=str
end function '过滤主过程 function cut(info)
info=replaceb(info,str2bytes("href=s"),str2bytes("href=xml.asp"))
info=replaceb(info,str2bytes("<font size=-1>"),str2bytes(""))
stra=cutit("<ol>","</ol>",info,5)
strpage=cutit("<br clear=all><ol>","</ol>",info,5)
cut=stra&strpage
end function '过滤子过程,具体实现 function cutit(cutstart,cutend,ysStr,offset)
st=str2bytes(cutstart)
et=str2bytes(cutend)
s=instrb(1,ysstr,st)
t=instrb(s,ysstr,et)
cutit=midb(ysstr,s,t-s+offset)
end function '组合递交的参数 function getrequest()
foreach r in request.querystring
tmp=tmp&r&"="&request(r)&"&" next getrequest=tmp
end function '将双字节变量化为单字节,与byte类型合用。 function str2bytes(str)
for i=1to lenb(str)
temp=temp&midb(str,i,1)
i=i+1 next str2bytes=temp
end function '此过程将byte类型转为字串,耗时太长 Function bytes2BSTR(vIn)
Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn ="" For i =1To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode <&H80 Then strReturn = strReturn &Chr(ThisCharCode)
Else NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn &Chr(CLng(ThisCharCode) *&H100 +CInt(NextCharCode))
i = i +1 EndIf Next bytes2BSTR = strReturn
End Function sub ww(t)
response.write t
'response.write "<BR>" response.flush
end sub sub wb(t)
response.binarywrite t
'response.write "<BR>" response.flush
end sub %>