WinHTTPRequest.ResponseText没有返回完整的HTML?

时间:2011-06-16 14:51:28

标签: vb.net https winhttprequest

我尝试使用WinHTTP请求来检索VB.Net中的网页(HTTPS网站),由于某种原因它只返回部分HTML,它可以采用的字符数量有任何长度限制吗?如果是这样,我可以在第10000个字符之后获取内容吗?

相关代码在这里:

         oRequest = New WinHttp.WinHttpRequest            
            oRequest.Open("GET", sQueryURL, False)            
            oRequest.SetTimeouts(0, 600000, 0, 0)
            oRequest.Send()
            If oRequest.Status = "200" Then                
                Debug.Print(oRequest.ResponseText)
            Else

            End If

1 个答案:

答案 0 :(得分:1)

自从我使用WinHttpRequest已经有一段时间了,但我相信一旦你阅读了ResponseText,WinHttpRequest就会放弃处理响应。由于您正在阅读响应,我猜您在打印ResponseText时尚未达到完整响应!

我认为您有两种选择:

  1. 使用WinHttpRequest.WaitForResponse()等待整个回复准备就绪
  2. 使用WinHttpRequest.ResponseStream以块的形式处理响应(您需要将块从字节转换为可读文本)
  3. 我不知道你是否在使用VB.Net,但如果你是:考虑使用System.Web.HttpRequest。界面几乎相同,您可以更轻松地找到工作示例和建议。