跳转到主要内容

返回可等待的Twisted Deferred而不是响应对象的Requests会话。

项目描述

此存储库包含一个返回可等待的Twisted Deferred而不是Response对象的Requests会话。

它非常棒,基本上——检查一下

示例

示例用法(使用 async/await)

from requests_threads import AsyncSession

session = AsyncSession()

async def _main():
    rs = []
    for _ in range(100):
        rs.append(await session.get('http://httpbin.org/get'))
    print(rs)

if __name__ == '__main__':
    session.run(_main)

此示例仅在Python 3上工作。

示例用法(使用Twisted)

from twisted.internet.defer import inlineCallbacks
from twisted.internet.task import react
import requests

session = requests.AsyncSession(n=100)

@inlineCallbacks
def main(reactor):
    responses = []
    for i in range(100):
        responses.append(session.get('http://httpbin.org/get'))

    for response in responses:
        r = yield response
        print(r)

if __name__ == '__main__':
    react(main)

此示例在Python 2和Python 3上工作。


每个请求都通过一个新线程自动发送。这对于基本用例来说效果很好。如果您不提供自己的reactor,则自动使用Twisted的asyncioreactor(有待改进,需要帮助!)。

这是一个实验,是我们计划用于Requests的真正异步API的预览,目前正在开发中,但需要大量的开发时间。如果您想帮忙(顺便说一下,我们需要帮助给我发一封邮件)。

随着时间的推移,此API可能会略有变化。

安装

$ pipenv install requests-threads
✨🍰✨

项目详情


下载文件

下载您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源代码分发

requests-threads-0.1.1.tar.gz (3.7 kB 查看哈希值)

上传时间 源代码

构建分发

requests_threads-0.1.1-py2.py3-none-any.whl (4.8 kB 查看哈希值)

上传时间 Python 2 Python 3