asp通过xml http获取网页不完整(2)
  不管怎么修改这段代码,得到的内容总是不完整。大家可以把这个段代码拷过去调试一下。我也试过其他组件,如asphttp,inet等组件,都不能得到整个页面的内容。
最后只能到程序员论坛CSDN求救,终于得到答案,原来这个是adodb.stream的一个BUG,因为其中包含了chr(0),导致认为文件已经结束,而导致后面的内容不会获取,从而导致xmlhttp获得的文件内容不完整。
修改该代码,将chr(0)替换成""后,程序运行正常,能抓取到页面的整个内容。修改后的代码为:
<%
url="http://www.nipei.com/index.php"
Set Http=server.createobject("msxml2.serverxmlhttp.3.0")
Http.setTimeouts 10000, 10000, 10000, 10000
Http.open "GET",url,False
Http.Send()
If Http.Readystate<>4 Then
Else
    
    If Http.status=200 Then
                response.write replace(BytesToBstr(http.responseBody,"gb2312"),chr(10),"")
    End If
End If
Function BytesToBstr(Body,Cset)
   Dim Objstream
   Set Objstream = Server.CreateObject("adodb.stream")
   objstream.Type = 1
   objstream.Mode =3
   objstream.Open
   objstream.Write body
   objstream.Position = 0
   objstream.Type = 2
   objstream.Charset = Cset
   BytesToBstr = objstream.ReadText 
   objstream.Close
   set objstream 
	
相关新闻>>
- 发表评论
 - 
				
 
- 最新评论 进入详细评论页>>
 


