请求中缺少边界(错误:内容类型缺失边界)

时间:2018-03-21 22:10:01

标签: http multipartform-data form-data boundary

我有这个代理人:

router.post('/proxy/foo', function (req, res, next) {

  const proxy = http.request({
      method: 'POST',
      port: 4000,
      hostname: 'localhost',
      path: `/files/foo`,
      headers: {
         'Content-Type':'multipart/form-data'
      }
    },
    function (resp) {
      resp.pipe(res).once('error', next);
    });

  req.pipe(proxy).once('error', next);

});

我正在使用以下标题向此代理处理程序发送POST请求:

{ 'content-type': 'multipart/form-data; boundary=--------------------------842381361531134328792158',
  'cache-control': 'no-cache',
  'postman-token': '1a5daa0b-2643-45bc-accc-3f7f3ced948d',
  'user-agent': 'PostmanRuntime/7.1.1',
  accept: '*/*',
  host: 'localhost:3040',
  cookie: 'cdt_app_token=foobar',
  'accept-encoding': 'gzip, deflate',
  'content-length': '176',
  connection: 'keep-alive' }

鉴于此,我收到了这个错误:

  

错误:内容类型缺失边界

所以我更改了它,以便代理请求使用与原始请求相同的标头,这是有道理的:

   const proxy = http.request({
      method: 'POST',
      port: 4000,
      hostname: 'localhost',
      path: `/files/foo`,
      headers: Object.assign({}, req.headers) // <<<<<<<<<
    },
    function (resp) {
      resp.pipe(res).once('error', next);
    });

现在它有效,因为特别是这个标题:

'content-type': 'multipart/form-data; boundary=--------------------------842381361531134328792158'

那边界的东西是什么?

0 个答案:

没有答案