lua - 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 实现?
解决方案
推荐阅读
- javascript - 为什么 async.map 返回多个数组副本?
- splunk - 如何使用 Outlook 凭据发送 splunk 电子邮件
- vim - 如何在VIM中突出显示光标位置的水平和垂直线的位置?
- neo4j - Neo4j 无法使用空属性值合并节点
- cloudflare - 如何通过 API 或 Terraform 禁用 Cloudflare Browser Insights?
- rust - 我可以创建一个自定义迭代器迭代一个序列然后另一个(链不起作用)
- python - python中实例方法和静态方法同名
- ios - UILabel 不会固定到导航栏的底部
- azure - 为什么我们在来自同一资源组的应用服务之间有很多连接?
- laravel - Laravel Route:具有前缀和路由模型绑定的多个路由组