0

我现在使用 node.js 已经将近 2 年了。但今天是第一次,我想从使用 http.request() 创建的 clientResponse 中获取“reasonPhrase”或“statusMessage”。

没有我可以访问的财产。至少文档中没有定义。有没有办法得到它?

非常感谢!

4

2 回答 2

0

似乎此信息无法通过 node.js 使用的 http-parser 获得。

我现在已经在 node.js 和 http-parser 上启动了一个功能请求来实现这个。

于 2013-02-05T12:15:47.503 回答
0

以下适用于节点 v0.8.x(但不适用于 v0.10.x)

var http = require('http');

var clientRequest = http.get("http://www.stackoverflow.com", function(res) {
    console.log("statusCode=" + res.statusCode);
});

clientRequest.on('socket', function(socket) {
    socket.once('data', function(buffer) {
        console.log("reasonPhrase=" + buffer.toString().
                    match(/^HTTP.+ \d+ (.*)(\n|\r).*/)[1]);
    });
});
于 2013-06-07T17:30:05.427 回答