nodejs实现请求代理
通常我们常用的请求方法只有GET、POST、PUT和DELETE,所以在此只介绍这四种和文件上传的代理方式
在此我们使用request.js第三方模块实现
GET(DELETE同GET,将request方法改为DELETE即可)
const request = require('request'); const url = require('url'); test: function (req, res, next) { let curl = url.parse(req.url); let search= curl.search; curl = "http:/localhost:8080/api/get"+search; try { req.pipe(request({ method: 'GET', uri: curl })).pipe(res); } catch (e) { next(e); } }
POST(PUT同POST,将request方法改为put即可)
const request = require('request'); const url = require('url'); test: function (req, res, next) { let curl= url.parse(req.url); let search= curl.search; curl = "http://localhost:8080/api/post"+search; let body = req.body; try { request.post({ uri: curl, form: body }).pipe(res); } catch (e) { next(e); } }
代理文件上传
const request = require('request'); const url = require('url'); upload: function (req, res, next) { let curl= url.parse(req.url); let search= curl.search; curl = "http://localhost:8080/api/upload"+search; try { req.pipe(request({ method: 'POST', uri: curl })).pipe(res); } catch (e) { next(e); } }