我已跟踪启用了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/

10-10 11:05