首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python httpx流数据异步?

Python httpx流数据异步?
EN

Stack Overflow用户
提问于 2021-11-24 21:00:16
回答 1查看 67关注 0票数 1

在链接https://zetcode.com/python/httpx/中,它具有以下stream示例

代码语言:javascript
复制
import httpx

url = 'https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-mini-memstick.img'

with open('FreeBSD-12.0-RELEASE-amd64-mini-memstick.img', 'wb') as f:
    with httpx.stream('GET', url) as r:
        for chunk in r.iter_bytes():
            f.write(chunk)

这是一种异步流式传输数据的方式吗?例如:

代码语言:javascript
复制
async def stream(call_back):
   async with httpx.stream('GET', url) as r:
       for chunk in await? r.iter_bytes():
           await call_back(chunk)
EN

回答 1

Stack Overflow用户

发布于 2021-11-24 23:42:55

这应该会起作用,

代码语言:javascript
复制
async def stream(cb):
    async with httpx.AsyncClient() as client:
        async with client.stream('GET', url) as resp:
            async for chunk in resp.aiter_bytes():
                await cb(chunk)

问题是每个块都很小,比如3K字节。

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

https://stackoverflow.com/questions/70102869

复制
相关文章

相似问题

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