zlib库问题

JavaScript020

zlib库问题,第1张

这么久没人回答你的问题,我今天解决了。

我装zlib1.2.3的时候 碰到了跟你一模一样的问题,我是这么解决的。。

zlib-1.2.3.tar.gz

libpcap-1.0.0.tar.gz

libxml2-2.6.19.tar.gz

libpng-1.2.40.tar.gz

.....

我要安装snort,按照教程的顺序如上面所示。上来安装zlib就出错了, = =,弄了半天没解决,先不管,继续往下安装。安装libpng的时候我装了flex ,sudo apt-get install flex, 编译不过,我又装了 bison ,sudo apt-get install bison 。 编译过了。。然后我再装的zlib。然后./configure就过了。make 和 make install 都可以。。

总之,你可以先装flex 和 bison 然后再试试,应该就可以了。。如果不行,把我列的包都装了,应该可以了。

我请求管用所结束httpvar http = require("http"),

zlib = require("zlib")

function getGzipped(url, callback) {

// buffer to store the streamed decompression

var buffer = []

http.get(url, function(res) {

// pipe the response into the gunzip to decompress

var gunzip = zlib.createGunzip()

res.pipe(gunzip)

gunzip.on('data', function(data) {

// decompression chunk ready, add it to the buffer

buffer.push(data.toString())

}).on("end", function() {

// response and decompression complete, join the buffer and return

callback(null, buffer.join(""))

}).on("error", function(e) {

callback(e)

})

}).on('error', function(e) {

callback(e)

})

}

getGzipped(url, function(err, data) {

console.log(data)

})

2. 尝试添加encoding: null给传递给选项request避免载体转换字符串并保持二进制缓冲区

3. 工作示例(使用节点请求模块)gunzips响应function gunzipJSON(response){

var gunzip = zlib.createGunzip()

var json = ""

gunzip.on('data', function(data){

json += data.toString()

})

gunzip.on('end', function(){

parseJSON(json)

})

response.pipe(gunzip)

}

全码:

4. 像@Iftah说设置encoding: null 完整例(少错误处理):request = require('request')

zlib = require('zlib')

request(url, {encoding: null}, function(err, response, body){

if(response.headers['content-encoding'] == 'gzip'){

zlib.gunzip(body, function(err, dezipped) {

callback(dezipped.toString())

}

} else {

callback(body)

}

})

安装nodeJs流程:1、下载nodejs引擎,32bitversion或者64bitversion2、下载最新版的npm zip格式压缩包:3、在硬盘某个位置,如D盘下建立一个文件nodejs,把上面两个下载的东西都放在这里,npm要解压。4、配置两个环境变量:一个是PATH上增加node.exe的目录D:\\nodejs,一个是增加环境变量NODE_PATH,值为D:\\nodejs\\node_modules。5、win7环境配置在系统》高级系统设置》高级》环境变量》系统变量中查找PATH,编辑加上D:\\nodejs,再加上NODE_PATH变量和值。6、安装express:打开cmd命令行,使用命令行定位到这Node目录下,键入指令npminstallexpress[安装express至相对路径]或npminstallexpress-g[安装express至绝对路径]到这里,你在命令行里面输入node-v如果输出nodejs的版本则安装成功。更新nodejs的版本可以在命令行中输入: npmupdatenpm-g