当我在 Windows 7 中使用带有 asyncio 和 Python 3.4 的 aiohttp 库发出 HTTPS 请求时,请求失败并在 base_events.py 的 _make_ssl_transport 函数中出现 NotImplementedError,如回溯所示。
在 Windows 上,我使用 ProactorEventLoop。我认为你必须使用那个来让 asyncio 工作。我在具有编译版本的 Python 3.4 的 Debian 7 VM 中尝试了相同的请求,并且相同的请求有效。我不在 Debian 中使用 ProactorEventLoop,只是使用默认设置。
有什么想法或解决方法吗?或者,我现在应该放弃 Windows 上的 aiohttp HTTPS 吗?我不能为这个项目使用 Linux,需要在 Windows 上。
最佳答案
正如 jfs 和 OP 所观察到的,
- ProactorEventLoop 与 SSL 不兼容,并且
- 默认循环支持 Windows 上的 SSL。通过扩展 aiohttp 也应该在 Windows 上与 https 一起工作。
关于python - Windows 中的 aiohttp Python 库是否支持 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23203874/