您想用来
http.request创建与远程API类似的请求并返回其响应。
像这样:
const http = require('http');// or use import http from 'http';app.post('/api/BLABLA', (oreq, ores) => { const options = { // host to forward to host: 'www.google.com', // port to forward to port: 80, // path to forward to path: '/api/BLABLA', // request method method: 'POST', // headers to send headers: oreq.headers, }; const creq = http .request(options, pres => { // set encoding pres.setEncoding('utf8'); // set http status pre based on proxied response ores.writeHead(pres.statusCode); // wait for data pres.on('data', chunk => { ores.write(chunk); }); pres.on('close', () => { // closed, let's end client request as well ores.end(); }); pres.on('end', () => { // finished, let's finish client request as well ores.end(); }); }) .on('error', e => { // we got an error console.log(e.message); try { // attempt to set error message and http status ores.writeHead(500); ores.write(e.message); } catch (e) { // ignore } ores.end(); }); creq.end();});
注意:我还没有真正尝试过上面的方法,因此它可能包含解析错误,希望这会提示您如何使其工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)