Articles of gzip

检查zip或gzip是否是密码encryption的(Node.JS)

我有一个糟糕的时间,试图查看一个zip或gzip有密码保护的文件。 我习惯了DotNetZip在.net中看到,但在Node.js中,我似乎无法find一个等效。 通过检查引导字节,我可以看到文件是gzip还是zip,但是如果它们包含encryption的文件则不能,这可能是gpg,传统的,甚至是aes。 我试过使用unzip , unzip2和adm-unzip包,但他们只是没有解决我的问题。 我正在寻找一个纯粹的node.js实现。 在这一点上,我只是考虑写我自己的模块来解决我的问题。

对于isBase64Encoded,AWS Gzip压缩在java中不起作用

我一直在研究Gzip的响应,但是它的工作在nodejs中很好,但是相同的代码在java平台中不起作用。 经过深入挖掘,我发现key是Base64Encoded:true在客户端(Chrome浏览器专门)中没有正确识别, public class ExampleHandler1 implements RequestHandler<AwsProxyRequest,AwsProxyResponse> { @Override public AwsProxyResponse handleRequest(AwsProxyRequest input, Context context) { AwsProxyResponse response = new AwsProxyResponse(200, Collections.singletonMap("X-Powered-By", "AWS Lambda & serverless"), "Aaytu"); try { HashMap<String, String> headermap = new HashMap<>(); headermap.put("Content-Encoding", "gzip"); headermap.put("Content-Type", "text/html"); String responseString = Base64.getMimeEncoder().encodeToString(GzipCompressor.compress("Hello there..!!!").getBytes()); AwsProxyResponse retVal = new AwsProxyResponse(200, headermap, responseString); retVal.setBase64Encoded(true); return retVal; } […]

gunzip使用zlib在node.js中分割TCP响应

Node.js v9.2.1 问题: 在node.js中使用内置的zlib模块时是否可以放弃标题检查? zlib在这个“标题检查”期间寻找的是什么?/我能欺骗吗? 我见过的所有例子都是使用某种types的库(http,request),它们在执行zlib之前实现了至less一些头parsing。 那么zlib实际上看起来不是什么原始的反应。 同样在这些例子中,closures连接时触发“结束”事件。 我的例子将没有这样的事件。 对于这个问题,让我们假设我正在使用一个死的简单的net.Socket与持久的TCP连接,如下所示: var net = require('net'); var chunks = []; var socket = net.connect({ port: foo, host: bar }, () => { socket.write('<perfectRequestHeaders>', null, () => { socket.on('data', (chunk) => { chunks.push(chunk); }) }) }) 然后,当我决定所有的块已经收到。 (没有“结束”事件,因为连接保持打开状态,只有当我看到终止块时,我才完全知道响应) var zlib = require('zlib'); var resBuffer = Buffer.concate(chunks); var headerEndIndex […]

如何gzip通过pipe道readStream传递的内容

我目前正在开发一个项目,要求在将内容发送回浏览器之前将其内容进行gZip编辑。 我目前正在使用一个简单的阅读stream和pipe道数据的请求的响应,但我不知道最好的方式来gzip内容没有阻止请求 发送数据的行是: require('fs').createReadStream(self.staticPath + Request.url).pipe(Response); 看到下面的类是静态处理程序对象: (function(){ var StaticFeeder = function() { this.staticPath = process.cwd() + '/application/static'; this.contentTypes = require('./contenttypes') } StaticFeeder.prototype.handle = function(Request,Response,callback) { var self = this; if(Request.url == '/') { return false; } if(Request.url.indexOf('../') > -1) { return false; } require('path').exists(this.staticPath + Request.url,function(isthere){ /* * If no file exists, pass back […]

Koajs和curl与内容编码:gzip,放气

我正在寻找客户端(使用curl)和Koajs服务器与内容编码之间交换数据的简单示例:gzip,deflate。 更多细节:客户端有日志文件。 客户端压缩日志文件并将日志文件发送到服务器。 服务器解压日志文件并获取内容。 请给我curl命令和Koajs代码。 谢谢。

阅读JS中的pcap.gz文件

我有一个〜500GB的pcap.gz文件,我想用node.js读取。 我尝试使用wireshark作为JSON导出这个文件,但它花了大约一个小时,并导致47 GB的文件(远远大到实际)。 我最终追捕了一个可以在这里find的应该能够读取pcap文件的节点模块。 然后,我使用7zip来提取pcap文件(导致文件稍大于2 GB),并尝试运行此代码: var pcapp = require('pcap-parser'); var parser = pcapp.parse('C:/Users/…/data.pcap'); parser.on('packet', function(packet) { console.log(packet); }); 并得到以下错误代码 events.js:182 throw er; // Unhandled 'error' event ^ Error: unknown magic number: 0a0d0d0a 对我来说最理想的是一个node.js脚本,它可以parsingpcap.gz文件,这样我就不必经过诸如wireshark或7zip之类的任何中间应用程序。 这是一个文件的下载链接: 下载 任何帮助是极大的赞赏。

PHP中的node.js中的gzuncompress函数

所以我有一些使用PHP的gzcompress方法压缩的数据: http : //us2.php.net/manual/en/function.gzcompress.php 我怎样才能从node.js解码这个数据? 我已经尝试了“压缩”,“zlib”和其他几个节点压缩库,但是他们都没有重新识别这些数据。 例如,zlib只是给我“错误:不正确的标题检查” 答案:原来“zlib”是要走的路。 我们有一个来自memcache的二进制数据的问题。 如果你有一个node.js Buffer对象的二进制数据,你调用toString()而不是.toString('binary'),它会得到各种各样的东西被转义或转义序列被解释或什么。 不幸的是,我尝试过的所有memcache插件都假定从memcache获取string数据,并且没有正确处理它的规则。 我find的最好的ZLIB模块: https://github.com/kkaefer/node-zlib // first run "npm install zlib", then… var zlib = require('zlib'); var gz = zlib.deflate(new Buffer("Hello World", 'binary')); // also another 'Buffer' console.log(zlib.inflate(gz).toString('binary')); 仅供参考,这个问题是非常相似的有关Java的一个相关的问题: 在Java中的PHP的gzuncompress函数?

在浏览器中解压缩一个JSON数据文件,作为来自Node.js的静态文件

类似这个post需要发送一个大的30MB的JSON文件到浏览器,压缩到3MB。 (是的,是的,这是一个很大的解决scheme,但是最好是把它作为一个静态文件,而不是像一个REST API的150个单独的AJAX调用一样,而且在这里有一些预先加载的时间是可以的。 也像原来的文章,这是一个静态文件,所以可以提前压缩(所以服务器不需要压缩每个请求)。 此外,可以从服务器上的公共目录,它在Node.js / Express.js我已经标记为静态: app.use(express.static(__dirname + "/public")); 一位评论者回答说: “也可以预压缩JSON,然后告诉Apache使用适当的头文件来提供这些文件,以避免不得不重新压缩。” 问题1:我怎样才能在Node / Express中做到这一点,即告诉Node告诉浏览器该文件是gzip格式,以便浏览器自动解压缩它? 另一个答案是“…但是检查浏览器是否支持压缩” ,这引发了另外一个问题? 问题2:大多数现代浏览器是否具有解压缩内容的能力? 还是我最好只包括一个JavaScript库的解压缩,通过Ajax作为二进制文本获取数据,并始终解压缩在我自己的代码,而不是浏览器的本地实用程序? (对于我的目的,排除一些旧的浏览器是可以的,例如,放弃IE6就可以,放弃对IE9的支持不会)

我如何读取gzip中的json文件?

有一个档案格式的gzip。 有json文件。 我们需要依次获取每个文件,使用它和其他gzip中写入的内容。 我意识到我需要使用标准库createReadStream和zlib。

无法在Nodejs中压缩静态文件

Gzipping静态文件不能按需要工作(我认为)。 我用gzippo和express.compress() 。 这两个gzipp文件一次。 没有Content-Encoding:gzip如果我再次刷新页面。 她是我如何设置我的快速应用程序: var gzippo = require('gzippo'); var express = require('express'); var app = express(); app.use(express.compress()); app.use(app.router); app.use(gzippo.staticGzip(__dirname + '/www')); 这是Chromenetworking响应标题页面更新后显示的内容: 编辑完整的请求标题 GET / HTTP/1.1 Host: myhost.com Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/ *;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Cookie: __utma=161759779.498387976.1381482631.1394444924.1394395346.80; […]