首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用aiohttp获取原始响应流?

如何使用aiohttp获取原始响应流?
EN

Stack Overflow用户
提问于 2018-08-09 11:29:23
回答 1查看 2.2K关注 0票数 1

我需要获得原始(压缩)内容。我的目标是将它保存到S3中。使用requests很容易

代码语言:javascript
运行
复制
import requests

response = requests.get('http://google.com', stream=True)
content = response.raw.read()  # b'\x1f\x8b\x08\x00\x00\x00\x00...'

然而,在aiohttp中,我总是获得未压缩的内容:

代码语言:javascript
运行
复制
import asyncio
import aiohttp

async def download(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            content = await response.content.read()  # b'<!doctype html><html...' 

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(download('http://google.com'))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-09 11:51:02

代码语言:javascript
运行
复制
class aiohttp.ClientSession(
    *,
    connector=None,
    loop=None,
    cookies=None,
    headers=None,
    skip_auto_headers=None,
    auth=None,
    json_serialize=json.dumps,
    version=aiohttp.HttpVersion11,
    cookie_jar=None,
    read_timeout=None,
    conn_timeout=None,
    timeout=sentinel,
    raise_for_status=False,
    connector_owner=True,
    auto_decompress=True,
    proxies=None
)

尝试设置auto_decompress=false 文档

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51765812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档