问题标签 [aiohttp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3863 浏览

python - 使用 aiohttp 将数据作为文件发送

我有这样的端点,它返回一个带有 csv 的文件:

我的问题是下一个:是否可以以某种方式自动设置标题?正如文档所说,aiohttp 具有BodyPartWriter具有set_content_disposition方法的类。但是,据我了解,它只能与客户端 API 一起使用(或者至少,只有客户端 API 的示例)。那么,是否可以BodyPartWriterResponse对象一起使用?

0 投票
4 回答
14945 浏览

http - aiohttp:服务单个静态文件

如何使用 aiohttp 提供单个静态文件(而不是整个目录)?

静态文件服务似乎通过UrlDispatcher.add_static()被烘焙到路由系统中,但这仅服务于整个目录。

(我知道我最终应该使用 nginx 之类的东西在生产环境中提供静态文件。)

0 投票
2 回答
4393 浏览

javascript - python3.5 aiohttp,请求post,json格式和405错误

我终于注册了,因为我对自己的问题一无所知。我的后端部分使用 asyncio 和 aiohttp,前端部分使用 javascript。但我遇到了 405 错误。(我准确地说我是这些库的初学者)

我希望从发布请求中检索 json。这里的javascript函数:

和python代码:

使用此代码,我收到 405 错误。这里有一点关于请求的萤火虫说:

但是,如果我在我的 javascript 文件中取回该行contentType : 'application/json',它可以工作(但是请求发送了一个名为的对象MultiDictProxy,我不明白如何使用包中的函数json()aiohttp.webhere

我真的需要一个 json 对象。有人可以帮助我吗?

0 投票
0 回答
1010 浏览

python-3.x - 来自 aiohttp 的 ClientDisconnectedError

我有一个用 aiohttp 构建的 websocket 服务器。我在服务器错误流中不断收到此异常。

客户端显示一条消息:

处理程序中的代码是:

客户端代码为:

这可能是什么问题?我也尝试启用调试模式,但这似乎也没有提供任何有用的输出。

0 投票
0 回答
3266 浏览

python-3.x - aiohttp 任务上传文件

目的:从模具中接收文件,文件列表,并在任务中处理它们。但是,解决这个问题,一个问题,一个文件描述符在传输到任务时是关闭的。是这么想的还是有问题?我不想通过使用异步 aiohttp 的 javascript 文件来处理双引导。

服务器端切割

html侧切

任务切割

调试消息剪切

0 投票
1 回答
2037 浏览

python - 如何对 aiohttp.web 应用程序进行单元测试

给定一个具有如下视图的 aiohttp.web 应用程序:

我试图了解如何正确地对它们进行单元测试。

在编写 Django 应用程序时,我通常使用 Django 自己的测试客户端,并且正在为 aiohttp.web 寻找类似的东西。我不确定这是不是正确的方法。

TL;DR:如何在单元测试中模拟对aiohttp.web应用程序的请求?

0 投票
1 回答
9935 浏览

python - Asyncio 和 aiohttp 将所有 url 路径路由到处理程序

我很难找到匹配所有传入 url 的通配符 url 匹配模式。这只是匹配一个只有主机名的 url:

因此,无论路径如何,只要有请求,它就应该调用处理程序。如果它的http://127.0.0.1:9999/http://127.0.0.1:9999/test/this/test/

我在这里查了http://aiohttp.readthedocs.org/en/stable/web.html#aiohttp-web-variable-handler没有找到正确的线索

0 投票
1 回答
910 浏览

python-3.x - 我可以使用 asyncio.wait_for() 作为上下文管理器吗?

为什么这不起作用:

据我了解,asyncio.wait_for()将传递aiohttp.get()具有__aenter__and__aexit__方法的 的未来(正如有效的事实所证明的那样async with aiohttp.get())。

0 投票
1 回答
1367 浏览

python - 如何使用 aiohttp 处理 DNS 超时?

aiohttp自述文件说:

如果您想为 aiohttp 客户端使用超时,请使用标准 asyncio 方法:yield from asyncio.wait_for(client.get(url), 10)

但这并不能处理 DNS 超时,我猜这些超时是由操作系统处理的。with aiohttp.Timeout也不处理操作系统 DNS 查找。

asyncio repo上进行了讨论,但没有最终结论,Saghul 已经制作了aiodns,但我不确定如何将它混入 aiohttp 以及这是否允许asyncio.wait_for功能。

测试用例(在我的 linux 机器上需要 20 秒):

0 投票
2 回答
6314 浏览

python-3.x - 将 tornado 与 aiohttp(或其他基于 asyncio 的库)一起使用

我想将 tornado 与 aiohttp 和本机 python 3.5 协程等异步库一起使用,最新的 tornado 版本(4.3)似乎支持它。但是,在龙卷风事件循环中使用它时,请求处理程序会无限期挂起。当不使用 aiohttp 时(即没有下面的行) r = await aiohttp.get('http://google.com/')text = await r.text()请求处理程序照常进行。

我的测试代码如下: