【发布时间】:2016-08-01 12:13:58
【问题描述】:
有没有办法查明收到了多少 GET 请求?在它完成之前我不能做Len(.ResponseBody),所以这是不可能的。
【问题讨论】:
标签: vba vbscript winhttp winhttprequest
有没有办法查明收到了多少 GET 请求?在它完成之前我不能做Len(.ResponseBody),所以这是不可能的。
【问题讨论】:
标签: vba vbscript winhttp winhttprequest
我正在研究如何绑定到IWinHttpRequestEvents。 OnResponseDataAvailable 事件正是您所需要的。它会在数据进入时为您提供数据。然后,您可以随心所欲地处理它。
不幸的是,尝试绑定到该事件接口会导致 VBScript 崩溃并出现 C0000005 GPF。我还在different language 中找到了对它崩溃的引用。所以,我不能说这是否适用于 VBA 或 VB6 或任何其他语言。详情在以下问题中讨论。
另一种方法是切换到Msxml2.XMLHTTP 或Msxml2.ServerXMLHTTP。这些对象带有一个名为readyState 的属性,可以让您了解下载发生的情况。它不会给你当前下载的字节数,但它是一些东西。
此外,您还可以捕获onReadyStateChange 事件,当对象上的readyState 发生更改时,它会通知您。微软甚至提供了sample code 用于捕获事件。
【讨论】: