用express.js代理

用express.js代理,第1张

用express.js代理

您想用来

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();});

注意:我还没有真正尝试过上面的方法,因此它可能包含解析错误,希望这会提示您如何使其工作。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5087559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存