使用请求和节点编辑响应正文

时间:2014-10-08 19:44:23

标签: node.js express

我试图创建一个小代理服务器,我可以编辑客户端和服务器之间的请求和响应。

这是我到目前为止所得到的:

var express = require('express');
var app = express();
var request = require('request');


app.use('/login', function(req, res) {

    var url = request.post({
        uri: 'http://192.168.1.53', 
        json: req.body
    });

    req.pipe(url).pipe(res);
});


app.listen(7501);

它完全适合我的情况。但我需要编辑请求和响应。 即返回的cookie和发送的表单数据。 任何帮助都会很棒。对Node来说很新。

1 个答案:

答案 0 :(得分:0)

结束了这一点 - 接受了快递请求,然后根据请求创建了一个新的帖子请求。然后发生了一些神奇的事情,通过快递将第二个响应返回给客户端。

app.use('/login', function(req, res) {
 request.post(
    'http://192.168.1.53',
    { form: { req: 'auth',  cid: '1', em: req.body.em, pw: req.body.pw, rm: true} },
    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            var cookie = response.headers['set-cookie'];
            console.log(cookie)
            console.log(body) //using body-parser

            res.header('Access-Control-Allow-Origin', '*');
            res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
            res.header('Access-Control-Allow-Headers', 'Content-Type');
            res.json({ success: true });
        }
    }
);

});