使用request,您可以将POST multipart/form-data请求从express转发到另一台服务器,而无需修改初始请求的主体/参数,然后将其他服务器的响应返回给express。与axios来说,这个功能似乎缺失了。
代码:标题
const request = require('request');
const axios = require('axios');
const express = require('express');
const app = express();
app.listen(3000);
const FORWARD_URL = 'https://example.com/'
Run Code Online (Sandbox Code Playgroud)
使用请求的工作示例
app.post('/test/0', (req, res) => {
req.pipe(request(FORWARD_URL)).pipe(res);
})
Run Code Online (Sandbox Code Playgroud)
尝试#1
app.post('/test/1', (req, res) => {
req.pipe(axios.post(FORWARD_URL)).pipe(res);
})
// internal/streams/readable.js:827
// dests[i].emit('unpipe', this, { hasUnpiped: false });
// ^
// TypeError: dests[i].emit is not a function
// at IncomingMessage.Readable.unpipe (internal/streams/readable.js:827:16)
// at unpipe (S:\_Work\[REDACTED]\node_modules\unpipe\index.js:47:12)
// at send (S:\_Work\[REDACTED]\node_modules\finalhandler\index.js:306:3)
// at …Run Code Online (Sandbox Code Playgroud)