XMLHTTP POST没有足够的存储

我在VBA(Excel)中编写了一个函数来处理一个API请求。 对于小的(<150MB左右)请求,它工作得很好,但是对于大的请求(> 150 MB到300-400MB的返回数据),我得到:

错误:2147024882(8007000e)没有足够的存储空间来完成此操作。

以下是代码(删除不适用的部分):

Function SendHTTPRequest(sURL As String, Optional sGETorPOST As String = "POST", Optional sHeaders2DArray As Variant, Optional sGetBodyOrPostArgs As String) As msxml2.ServerXMLHTTP60 Dim aheaders() As Variant, i As Long If sGETorPOST <> "GET" And sGETorPOST <> "POST" Then Exit Function If IsMissing(sHeaders2DArray) Then ReDim aheaders(0 To 0, 0 To 1) aheaders(0, 0) = "User-Agent" aheaders(0, 1) = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" Else ReDim aheaders(LBound(sHeaders2DArray) To UBound(sHeaders2DArray), LBound(sHeaders2DArray, 2) To UBound(sHeaders2DArray, 2)) aheaders = sHeaders2DArray End If Set SendHTTPRequest = New msxml2.ServerXMLHTTP60 SendHTTPRequest.Open sGETorPOST, sURL, False For i = LBound(aheaders) To UBound(aheaders) SendHTTPRequest.setRequestHeader aheaders(i, 0), aheaders(i, 1) Next If sGETorPOST = "POST" Then SendHTTPRequest.setRequestHeader "Content-type", "application/x-www-form-urlencoded" SendHTTPRequest.send (sGetBodyOrPostArgs) '<-- Error occurs here End Function 

我一直在解决这个问题两天。 我本来是在做错误的POST请求并修复它,并且我从XMLHTTP更改为ServerXMLHTTP。

以下是调用函数的适用代码:

 aheaders(0, 0) = "User-Agent" aheaders(0, 1) = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" aheaders(1, 0) = "X-Requested-With" aheaders(1, 1) = "[redacted]" aheaders(2, 0) = "Authorization" aheaders(2, 1) = "Basic " & EncodeBase64(USER & ":" & PASS) sURL = URLAPI & "/api/2.0/fo/scan/" sArgs = "action=fetch&scan_ref=" & sRef & "&mode=extended&output_format=json" Set httpRequest = SendHTTPRequest(sURL, "POST", aheaders, sArgs) 

我一直在Excel 2010,2013和2016testing。这绝对不是一个资源问题。 我运行的是至强W3550,内存为12GB,500GB的SSD还不到一半。

有什么我可以做的,以解决这个代码,或者有一种替代的方式来使API请求?