javascript - 如何使用http代理获取请求的正文?

标签 javascript node.js http node-http-proxy

我想编写一个简单的代理,它将特定 POST 请求的正文保存到文件中。

我试过http-proxy但问题是我不知道如何获取请求的正文。 req 对象中有 header 和一些其他信息,但没有正文。这是我现在所拥有的。我检查了我创建的日志文件,但没有看到请求正文。

var fs = require('fs'),
    http = require('http'),
    httpProxy = require('http-proxy');

var proxy = httpProxy.createProxyServer({});

var logger = function () {

    return function (request, response) {
        var logFile = fs.createWriteStream('./req' + new Date().getTime() + '.log');
        proxy.web(request, response, {target: 'http://localhost:8081'});

        var cache = [];
        logFile.write(
            JSON.stringify(request, function (key, value) {
                if (typeof value === 'object' && value !== null) {
                    if (cache.indexOf(value) !== -1) {
                        // Circular reference found, discard key
                        return;
                    }
                    // Store value in our collection
                    cache.push(value);
                }
                return value;
            }, 2)
        );
    }
};

var server = http.createServer(logger());
server.listen(8080);

最佳答案

通常,当我想使用 Node 访问请求正文时,我会使用 body-parser 模块。

How to use it !

关于javascript - 如何使用http代理获取请求的正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219284/

相关文章:

node.js - 在不超过速率限制的情况下尽可能快地通过 SES 发送电子邮件

javascript - app.set ('port',端口) 'TypeError: undefined is not a function'。初学者,需要思路

java HTTPConnection 连接到 ip

android - HttpContext 不持有 cookie

javascript - 将错误类添加到 selected.js 元素

javascript - 如何在 EXT JS 中渲染 10,000 多条记录的图表?

javascript - 将 onsubit 函数附加到带有参数的表单

javascript - 如何将值从实际行传递到 Bootstrap 模型

node.js - 将回调传递给以await 为前缀的函数。执行顺序

angular - 我做错了什么 RxJS 运算符