来自POST请求的VBA multipart / form-data返回压缩的文件附件如何解压缩文件

问题描述

我正在将此请求发送到Web服务器:

 With CreateObject("MSXML2.ServerXMLHTTP.6.0")
        .setoption(2) = 13056
        .Open "POST","https://b2b-mo.bes.svcs.hpe.com/MIMEService",False
        .setRequestHeader "Host","b2b-mo.bes.svcs.hpe.com"
        .setRequestHeader "Content-Type","multipart/form-data; boundary=" & sBoundary
        .setRequestHeader "Content-Length",LenB(sPayLoad)
        .setRequestHeader "Accept-Encoding","gzip,deflate"
        .send (sPayLoad)
        httpresponse = .responseBody
        responseText = .responseText
    End With

我收到以下答复:

--BESEnd
Content-disposition: form-data; name="PayloadType"

X12_999_Response_005010X231A1
--BESEnd
Content-disposition: form-data; name="ProcessingMode"

Batch
--BESEnd
Content-disposition: form-data; name="PayloadID"

a96c96ad-8851-48f3-a273-4c886ba28021
--BESEnd
Content-disposition: form-data; name="PayloadLength"

283
--BESEnd
Content-disposition: form-data; name="TimeStamp"

2020-09-07T23:29:38Z
--BESEnd
Content-disposition: form-data; name="SenderID"

SenderID
--BESEnd
Content-disposition: form-data; name="ReceiverID"

Password
--BESEnd
Content-disposition: form-data; name="CORERuLeversion"

2.2.0
--BESEnd
Content-disposition: form-data; name="Checksum"

9b27a7da1d7657fd93599832e3381ccc19a07a01
--BESEnd
Content-disposition: form-data; name="Payload"

PK  ³»'Q               C51I4HHI.E077D5AF.999e?±Â@?_Åù?àସ1ÔÚ8^?¦?rÏ.?­>àcqáô¿nY ???óyCY³?%º¬(uH?Ï0dâ¨"ª L¸Ö¡àæÙÑ´w1ææ$ì\Ë?X»ùwàƽ`£5jð??µôÐvX?¾±wìÞ¬/PK?õ?!     PK   ³»'Q?õ?!                      C51I4HHI.E077D5AF.999PK      C        
--BESEnd
Content-disposition: form-data; name="ErrorCode"

Success
--BESEnd
Content-disposition: form-data; name="ErrorMessage"

Request processed successfully.
--BESEnd--

看起来像一堆乱码的“有效负载”是一个似乎已压缩的文件。我正在寻找一种解压缩文件方法,但是没有任何效果

我尝试了建议的.setRequestHeader "Accept-Encoding","identity",但得到了相同的答复。

Web服务器有一个指南,指出该文件一个压缩文件,已转换为字符串,需要将其转换为字节数组并压缩。在VBA中有办法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)