首页 > 解决方案 > lua:`zlib` 与 HTTP 不兼容?

问题描述

wrk用来测试我的 HTTP 服务器,所以 Lua 是构建 HTTP 正文的首选脚本。

使用lua的zlib包时:

zlib = require 'zlib'
md5 = require 'md5'
x = zlib.deflate(5,31)("abcdefghigklmn", "finish")
print(md5.sumhexa(x))

我得到了f2fa3c8e97506f0d6e27248a82b9b76d,但是当使用 golang gzip(我在我的客户端和服务器中使用过,并且它与 HTTP 兼容)时,我得到了不同的值34b6ba0659ded8aa506e07afc01dd1f8

import (
    "bytes"
    "fmt"
    "crypto/md5"
    "compress/gzip"
    "encoding/hex"
)

var buf bytes.Buffer
g := gzip.NewWriter(&buf)
g.Write([]byte{"abcdefghigklmn"})
h := md5.New()
h.Write(buf.Bytes())
fmt.Printf("%s", hex.EncodeToString(h.Sum(nil)))

是否有任何其他gzip与 HTTP gzip 兼容的 lua 实现?

标签: luagzip

解决方案


推荐阅读