我在POST
中发出nodejs
请求,该请求返回protobuf
我需要传递给另一个将其用作另一个请求正文的函数。
问题是,当我从请求中记录返回的body
时,它的前面似乎有一些额外的字节(Base64编码)H4sIAAAAAAAAAAFxPY7C
我已经尝试将主体作为原始缓冲区和base64
但是这些额外的字节始终存在,但是当我代理初始POST
请求时它们不存在。< / p>
我正在提出这样的请求:
var requestParams =
{
uri: 'https://www.myurl',
method: 'POST',
encoding: 'base64',
timeout: 4000,
headers:
{
'User-Agent': 'My Request',
'Accept-Encoding': 'gzip'
},
body: myBody,
tunnel: false // Used for proxy
};
var requestCompletion = function(error, response, body)
{
console.log(error);
response ? console.log(response.statusCode) : null
console.log('RESULT: ' + body + '\n\n\n');
if (!error && response.statusCode == 200)
{
// Success
nextFunction(body);
}
else
{
errorFunction(error + ' : ' + response.statusCode);
}
}
request(requestParams, requestCompletion);
答案 0 :(得分:1)
Can you please try with making gzip parameter true:
var requestParams =
{
uri: 'https://www.myurl',
method: 'POST',
encoding: 'base64',
timeout: 4000,
gzip: true,
headers:
{
'User-Agent': 'My Request',
'Accept-Encoding': 'gzip'
},
body: myBody,
tunnel: false // Used for proxy
};