★求帮:获取网页html代码的问题
用如下方法获取某网页html代码,可是获取的代码长度出现不完整,偶尔获取长度不一样的问题,请问是怎么回事?有没解决方案或者其他更好办法
Dim buf(1000000) As Byte
Dim request As HttpWebRequest = WebRequest.Create( "http://www.163.com ")
Dim response As HttpWebResponse = request.GetResponse()
Dim resStream As Stream = response.GetResponseStream()
Dim count As Integer = resStream.Read(buf, 0, buf.Length)
Dim str As String = Encoding.Default.GetString(buf, 0, count) '这里的str就是你要的网页代码
resStream.Close()
MsgBox(CStr(Len(str)))
[解决办法]
对不起,忘换行了
Dim request As HttpWebRequest = WebRequest.Create( "http://www.163.com ")
Dim response As HttpWebResponse = request.GetResponse()
Dim resStream As Stream = response.GetResponseStream()
Dim ms as new io.memorystream
Dim buf(4095) as byte
Do
Dim count As Integer = resStream.Read(buf, 0, 4096)
if not count > 0 then
Exit Do
End If
ms.write(buf,0,count)
Loop
Dim str As String = Encoding.Default.GetString(ms.toarray())
resStream.Close()
MsgBox(CStr(Len(str)))
[解决办法]
Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
Dim res As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)
Dim reader As StreamReader = New StreamReader(res.GetResponseStream, Encoding.Default)
Dim str As String = reader.ReadToEnd
MsgBox(CStr(Len(str)))