nodejs表示代理发布请求

时间:2015-03-11 11:55:02

标签: node.js post express proxy request

我想代理一个帖子请求,代理服务器的地址在post param中,我有以下代码:

app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
      extended: true
}));
app.post('/proxy', function (req, res) {
    var proxyReq = request(req.body.url, function(err, res, body) {
        console.log(body);
    });
    proxyReq.on('response', function(proxyRes) {
        proxyRes.pipe(res);
    });
    req.pipe(proxyReq);
})

然后我使用

启动服务器
NODE_DEBUG=request node app

我使用curl发送这样的请求:

curl -d 'url=http://www.google.com' http://localhost:3000/proxy

在服务器控制台中,我可以看到:

REQUEST { uri: 'http://www.google.com', callback: [Function] }
REQUEST make request http://www.google.com/

但在客户端,没有任何回应,它只是挂在这里。 有谁知道为什么?以及如何解决这个问题。感谢

0 个答案:

没有答案