问题标签 [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.
python - python aiohttp.web 中间件是如何工作的
根据文档
传入中间件工厂的处理程序是下一个中间件工厂返回的处理程序。最后一个中间件工厂总是接收路由器本身选择的请求处理程序(通过 UrlDispatcher.resolve())。
我认为 UrlDispatcher.resolve() 将返回我分配的注册处理程序,所以我编写了这段代码。根据我的理解,当访问页面 127.0.0.1:9000 时,索引处理程序将用作 m1 的处理程序
当我运行代码并在 127.0.0.1:9000 访问服务器时,我得到了
在我看来,NoneType 作为处理程序传递到 m1 中间件
python - aiohttp 和 websockets 之间有什么区别/兼容性?
aiohttp
的 websocket 支持(即WebSocketResponse
)和websockets (都提供异步支持)有什么区别?它们可以混合吗?
php - 使用 post 和 JWS 发送 JSON 数据
我正在使用 aiohttp(和 asyncio)向 PHP 应用程序发出 POST 请求。当我在 python 上为 json 设置标头时,PHP 应用程序没有收到任何 $_POST 数据(PHP 已Content-Type: application/json
设置标头)。
php 端代码只返回json_encode($_POST)
.
运行这个我得到:[]
删除标题参数时,json.dump(d)
我得到:{"some:"data"}
python - 有没有办法找到多个计时器中的哪一个引发异常?
由于两个计时器具有相同的超时时间,因此它们都可以 raise TimeoutError
。我想知道是谁做的。可能吗?
python - Python 3.4 中的“异步”
aiohttp 的入门文档提供了以下客户端示例:
他们为 Python 3.4 用户提供了以下注释:
如果您使用的是 Python 3.4,请将 await 替换为 yield from 并将 async def 替换为 @coroutine 装饰器。
如果我遵循这些说明,我会得到:
但是,这不会运行,因为async with
Python 3.4 不支持:
如何翻译该async with
语句以使用 Python 3.4?
python-3.5 - 如何为 aiohttp 创建委托/嵌套异步上下文管理器?
我想为具有动态等待的爬虫创建自定义请求管理器。
我的爬虫需要向禁止来自同一 IP 地址的并行请求的站点发出请求。如果发生这种阻塞,请求返回 HTTP 错误代码 403、503、429 等
。如果出现错误,我想等待一段时间并重复请求。但是为了简单起见,他们只调用 get 并接收正确的页面。
我想将aiohttp和新的async 与Python 3.5的语法一起使用,因此如果他们像这样使用aiohttp.ClientSession,我的解析器类可以以同样的方式对我的请求者类使用async with:
如果请求者是aiohttp.ClientSession,则响应是aiohtpp.ClientResponse,它具有__aenter__和__aexit__方法,因此可以按预期异步工作。
但是如果我把我的请求者类放在中间,它就不再工作了。
它看起来像这样。
据我了解self.session.get是协程函数,所以我会等待它。结果是aiohttp.ClientResponse具有__aenter__或__aexit__。但是如果返回它parser的async with block 代码返回奇怪的错误。
你能说一下我需要用我的请求者类替换什么,就像用aiohttp.ClientSession 一样吗?
python-3.x - 使用 asyncio 和 aiohttp 从 url 加载 zip 文件
如何使用 GET 请求加载 Zip 文件?
我在我的 Python 应用程序中使用 asyncio 和 aiohttp。那是我的代码:
然后我得到 asyncio.TimeoutError
python-3.5 - aiohttp+aiomysql (python 3.5) 的单例连接池
我在玩 aiohttp+aiomysql。我想在请求调用之间共享相同的连接池实例。
所以我创建了一个全局变量并在 corouting 调用中对其进行了一次预初始化。
我的代码:
这样做是方便的方式,还是更好的方式?
progress-bar - 带 tqdm 的 asyncio aiohttp 进度条
我正在尝试集成一个进度条来监视在 Python 3.5 中tqdm
生成的 POST 请求。aiohttp
我有一个工作进度条,但似乎无法使用as_completed()
. 感激地收到了指点。
我发现的示例建议使用以下模式,该模式与 Python 3.5async def
定义不兼容:
没有进度条的工作(尽管已编辑)异步代码:
这是我修改失败的尝试loop()
: