最近稍微研究了下nodejs的路由转发,主要是研究了下cookie的转发,这样可以共享cookie请求(不过服务器同域跨端口共享cookie也可以配)还有通过cookie来获取的服务器session,看了下网上的第三方框架,用了下request好像是不太好用,就用了下superagent来研究,talk is cheap,show you the code
express中转发cookie简例
const express = require('express');
const router = express.Router();
const superagent = require('superagent');
router.get('/redirect', function(req, res, next) {
const url = 'you url here',
ServerCookie = req.headers.cookie; // 获取到cookie的字段
superagent.get(url)
// 设置些需要的头
.set('Content-Type', 'application/json;charset=UTF-8')
// set cookie字段
.set('Cookie', ServerCookie)
.end(function(err, response){
if (err || !response.ok) {
res.send('error');
} else {
//接口返回转发数据,可以在这里处理之后拼装数据
res.send(response.body);
}
});
});
module.exports = router;
express中转发post请求(引用官网例子,懒得自己再弄个post接口测试了,应该写法跟get差不多)
request.post('/user')
.set('Content-Type', 'application/json')
.send('{"name":"tj","pet":"tobi"}')
.end(callback)