有关 http 返回包分包的问题
Public Function SendPost(ServerAdd As String, Port As String, url As String, PostData As String, strMethod As String, bSign As Boolean) As String
Dim xmlObj As XMLHTTP
Dim data() As Byte '定义发送数据数据,用于INFOSEC_SIGN/1.0
On Error GoTo my_err:
Set xmlObj = CreateObject("Msxml2.XMLHTTP.4.0")
'Set xmlObj = New XMLHTTP
Call WriteBankLog("建立xml对象成功")
Dim strUrl As String
strUrl = "http://" + ServerAdd + ":" + Port + url
Call WriteBankLog("Url:" + strUrl)
Call xmlObj.Open(strMethod, strUrl, False)
Call WriteBankLog("postdata:" + PostData)
'设置头格式
If bSign Then
Call xmlObj.setRequestHeader("Content-Type", "INFOSEC_SIGN/1.0")
Call xmlObj.setRequestHeader("Content-Length", CStr(LenB(StrConv(PostData, vbFromUnicode))))
data = StrConv(PostData, vbFromUnicode)
Call xmlObj.Send(data) '发送数据
Else
Call xmlObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
PostData = URLEncoding(PostData)
Call xmlObj.Send(PostData) '发送数据
End If
Call WriteBankLog("发送数据成功")
Dim retData As String
retData = bytes2BSTR(xmlObj.responseBody) '这得到包是第一个包,其他的包怎么来收?
MsgBox xmlObj.Status
Call WriteBankLog("接收报文:" & retData)
xmlObj.abort
SendPost = retData
Exit Function
my_err:
Call WriteBankLog("err:" + ERR.Description)
End Function
返回包分为两个以上,
retData = bytes2BSTR(xmlObj.responseBody)
这句永远得到是第一个包,不完整!怎么来处理!