aiohttp-运行客户端示例“ RuntimeError:不支持SSL”

时间:2019-06-17 10:41:51

标签: python aiohttp

我只是尝试浏览aiohttp示例,但第一个错误:

import aiohttp
import asyncio

async def fetch(session, url):
    async with session.get(url) as response:
        return await response.text()

async def main():
    async with aiohttp.ClientSession() as session:
        html = await fetch(session, 'http://python.org')
        print(html)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

运行此命令可获得以下信息:

  

文件“ C:\ ProgramData \ Anaconda2 \ envs \ asyncio \ lib \ site-packages \ aiohttp \ connector.py”,第887行,在_get_ssl_context中       引发RuntimeError('不支持SSL。')   RuntimeError:不支持SSL。

  • Python版本:3.7.3
  • aiohttp版本:3.5.4

我搜索了要复制的问题,但找不到任何东西……这使我认为我的设置有问题。我正在使用Anaconda2 env在Windows 8.1上运行此程序。

这是怎么回事?

1 个答案:

答案 0 :(得分:0)

Aiohttp导入ssl as follows

try:
    import ssl
    SSLContext = ssl.SSLContext
except ImportError:  # pragma: no cover
    ssl = None  # type: ignore
    SSLContext = object # type: ignore

如果它仍然是None,则会引发您的帖子中指定的错误。因此,首先尝试手动import ssl。它看起来应该像这样:

>>> import ssl
>>> ssl
<module 'ssl' from '/usr/lib/python3.6/ssl.py'>

如果没有,请检查/重新安装您的python安装程序。