0

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

相关代码在这里:

         oRequest = 新的 WinHttp.WinHttpRequest            
            oRequest.Open("GET", sQueryURL, False)            
            oRequest.SetTimeouts(0, 600000, 0, 0)
            oRequest.Send()
            如果 oRequest.Status = "200" 那么                
                Debug.Print(oRequest.ResponseText)
            别的

            万一

4

1 回答 1

0

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

我认为您有 2 个选项可以尝试:

  1. 用于WinHttpRequest.WaitForResponse()等待整个响应准备好
  2. 用于WinHttpRequest.ResponseStream处理块中的响应(您需要将块从字节转换为可读文本)

我不知道你是否使用 VB.Net,但如果你是:考虑使用System.Web.HttpRequest。界面几乎相同,您将更容易找到工作示例和建议。

于 2011-06-16T15:08:21.783 回答