在流模式下使用 needle.js 时如何获得响应 headers?
How to get response headers when using needle.js in streaming mode?
我想在流模式下为 node.js 使用 needle 模块,类似于 needle 文档中的示例:
var stream = needle.get('http://www.as35662.net/100.log');
stream.on('readable', function() {
var chunk;
while (chunk = this.read()) {
console.log('got data: ', chunk);
}
});
这允许我从流中读取响应 body。
如何访问响应 headers?
如果需要,您可以在直播开始前阅读 header。
var needle = require('needle');
var url = 'http://www.whosebug.com';
needle.head(url, {method: 'HEAD'}, function (err, response) {
if (!err && response.statusCode == 200) {
console.log((JSON.stringify(response.headers)));
}
});
或在请求中
var request = require('request');
var url = 'http://www.whosebug.com';
request(url, {method: 'HEAD'}, function (err, response) {
if (!err && response.statusCode == 200) {
console.log((JSON.stringify(response.headers)));
}
});
否则你可以流后阅读。
var needle = require('needle');
var url = 'http://www.whosebug.com';
var stream = needle.get(url, function (err, response) {
if (!err && response.statusCode == 200)
console.log((JSON.stringify(response.headers)));
});
但这对请求也是有效的。
var request = require('request');
var url = 'http://www.whosebug.com';
var stream = request.get(url, function (err, response) {
if (!err && response.statusCode == 200)
console.log((JSON.stringify(response.headers)));
});
从阅读源代码开始,needle 发出了两个事件,header
和 headers
。
仅headers感兴趣:
var stream = needle.get(someURL);
stream.on('headers', function(headers) {
// do something with the headers
});
或状态码和headers:
stream.on('header', function(statusCode, headers) {
if (statusCode != 200) {
// scream and panic
}
});
我想在流模式下为 node.js 使用 needle 模块,类似于 needle 文档中的示例:
var stream = needle.get('http://www.as35662.net/100.log');
stream.on('readable', function() {
var chunk;
while (chunk = this.read()) {
console.log('got data: ', chunk);
}
});
这允许我从流中读取响应 body。
如何访问响应 headers?
如果需要,您可以在直播开始前阅读 header。
var needle = require('needle');
var url = 'http://www.whosebug.com';
needle.head(url, {method: 'HEAD'}, function (err, response) {
if (!err && response.statusCode == 200) {
console.log((JSON.stringify(response.headers)));
}
});
或在请求中
var request = require('request');
var url = 'http://www.whosebug.com';
request(url, {method: 'HEAD'}, function (err, response) {
if (!err && response.statusCode == 200) {
console.log((JSON.stringify(response.headers)));
}
});
否则你可以流后阅读。
var needle = require('needle');
var url = 'http://www.whosebug.com';
var stream = needle.get(url, function (err, response) {
if (!err && response.statusCode == 200)
console.log((JSON.stringify(response.headers)));
});
但这对请求也是有效的。
var request = require('request');
var url = 'http://www.whosebug.com';
var stream = request.get(url, function (err, response) {
if (!err && response.statusCode == 200)
console.log((JSON.stringify(response.headers)));
});
从阅读源代码开始,needle 发出了两个事件,header
和 headers
。
仅headers感兴趣:
var stream = needle.get(someURL);
stream.on('headers', function(headers) {
// do something with the headers
});
或状态码和headers:
stream.on('header', function(statusCode, headers) {
if (statusCode != 200) {
// scream and panic
}
});