我已跟踪启用了brotli压缩的Apache服务器。
当我从cli发送卷曲请求时,它工作正常。但是,当我从python发送请求时,它返回的纯文本不带brotli压缩。这意味着它没有使用brotli压缩。
可以使用的卷曲命令:
curl -H "Accept-Encoding: br" http://testsite/index.html
这是python代码:
headers = {
' Accept-Encoding': 'br',
}
response = requests.get('http://testsite/index.html', headers=headers)
如何从python发出请求,以便它将向服务器发出使用brotli压缩的请求。
最佳答案
这支持brotli请求https://github.com/encode/httpx。
来自单元测试的示例:
import brotli
import httpx
body = b"test 123"
compressed_body = brotli.compress(body)
headers = [(b"Content-Encoding", b"br")]
response = httpx.Response(200, headers=headers, content=compressed_body)
关于python - 如何使用Brotli压缩Python发出HTTP请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57261619/