Node.js请求正文有一些额外的填充

时间:2015-09-17 11:26:49

标签: javascript node.js request

我在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);

1 个答案:

答案 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
   };