Articles of gzip

编码与从StackOverflow API请求JSON的问题

我无法弄清楚我的生活。 下面是一个请求模块的实现,但我也尝试过使用node-XMLHttpRequest模块无济于事。 var request = require('request'); var url = 'http://api.stackexchange.com/2.1/questions?pagesize=100&fromdate=1356998400&todate=1359676800&order=desc&min=0&sort=votes&tagged=javascript&site=stackoverflow'; request.get({ url: url }, function(error, response, body) { if (error || response.statusCode !== 200) { console.log('There was a problem with the request'); return; } console.log(body); // outputs gibberish characters like console.log(body.toString()); // also outputs gibberish }); 似乎是一个编码问题,但我已经在浏览器中使用完全相同的代码(与原生XHR对象),它没有任何问题。 我究竟做错了什么?

使用zlib压缩多个文件

下面的代码将压缩一个文件。 我如何压缩多个文件 var gzip = zlib.createGzip(); var fs = require('fs'); var inp = fs.createReadStream('input.txt'); var out = fs.createWriteStream('input.txt.gz'); inp.pipe(gzip).pipe(out);

Node.js HTTP响应stream

在Node.js中使用本地的http.get() ,我试图将HTTP响应传递给一个可以绑定data和end事件的stream。 我目前正在处理这个gzip数据,使用: http.get(url, function(res) { if (res.headers['content-encoding'] == 'gzip') { res.pipe(gunzip); gunzip.on('data', dataCallback); gunzip.on('end', endCallback); } }); Gunzip是一个stream,这只是工作。 我试图创buildstream(写入stream,然后读取stream)和pipe道响应,但一直没有太多的运气。 任何build议来复制这个相同的交易,对于非压缩内容?

express.js压缩中间件不起作用

我的应用程序中有以下中间件: app.use(express.favicon(__dirname + '/static/public/images/favicon.ico')); app.use(express.compress()); app.use(express.json()); app.use(express.urlencoded()); app.use(express.cookieParser('SECRET!')); app.use(express.static(__dirname + config.static_path, {maxAge: 365 * 86400000})); app.use(express.session({secret: 'SECRET!'})); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); 标题示例: 但静态内容不压缩。 可能是什么问题呢?

Nodejs使用zlib以gzip发送数据

我试图用gzip发送文本,但我不知道如何。 在示例中 ,代码使用fs,但我不想发送文本文件,只是一个string。 var zlib = require('zlib'); var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html', 'Content-Encoding': 'gzip'}); var text = "Hello World!"; res.end(text); }).listen(80);

如何在Node.js中将一个可读的stream一次写入两个可写的stream?

目标是: 创build一个文件读取stream。 将其pipe理到gzip( zlib.createGzip() ) 然后将读取的zlib输出stream传递给: 1)HTTP response对象 2) 和可写文件stream来保存压缩的输出。 现在我可以做到3.1: var gzip = zlib.createGzip(), sourceFileStream = fs.createReadStream(sourceFilePath), targetFileStream = fs.createWriteStream(targetFilePath); response.setHeader('Content-Encoding', 'gzip'); sourceFileStream.pipe(gzip).pipe(response); …这工作正常,但我还需要将gzip压缩的数据保存到一个文件,以便我不需要每次重新压缩,并能够直接streamgzip的数据作为响应。 那么,如何在节点中将一个可读stream一次性传递到两个可写stream中? 会sourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream); 在Node 0.8.x中工作?

node.js – 使用gzip / deflate压缩的简单http请求

我想弄清楚如何轻松发送HTTP / HTTPS请求,并处理gzip /压缩响应与cookies。 我发现最好的是https://github.com/mikeal/request处理除压缩之外的所有内容。 有没有一个模块或方法可以满足我所要求的一切? 如果没有,我可以以某种方式结合请求和zlib吗? 我试图结合zlib和http.ServerRequest,它失败了。 谢谢!

Node.js:Gzip压缩?

我发现Node.js没有gzip压缩,并且没有模块可以执行gzip压缩吗? 任何人都可以使用一个没有压缩的Web服务器? 我在这里错过了什么? 我是否应该尝试将algorithm引入JavaScript以供服务器端使用?