Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python aiohttp:如何发出简单的http请求_Python_Aiohttp - Fatal编程技术网

Python aiohttp:如何发出简单的http请求

Python aiohttp:如何发出简单的http请求,python,aiohttp,Python,Aiohttp,我正在探索异步http请求的aiohttp aiohttp上的客户端快速启动建议将以下代码作为一个最简单的示例: import aiohttp async with aiohttp.ClientSession() as session: async with session.get('http://httpbin.org/get') as resp: print(resp.status) print(await resp.text()) 对我来说,在py

我正在探索异步http请求的aiohttp

aiohttp上的客户端快速启动建议将以下代码作为一个最简单的示例:

import aiohttp
async with aiohttp.ClientSession() as session:
    async with session.get('http://httpbin.org/get') as resp:
        print(resp.status)
        print(await resp.text())
对我来说,在python 3.6.5中,这会导致

与aiohttp.ClientSession()作为会话异步:

SyntaxError:无效语法

我是不是遗漏了什么

感谢您的帮助!多谢各位

编辑: 我在做测试。首先,我意识到我需要python 3.7。 所以我切换了,现在错误信息是:

与aiohttp.ClientSession()作为会话异步:

SyntaxError:异步函数外部的“async with”


问题不在于Python版本:aiohttp支持Python>=3.5.3,所以3.6.5是绝对好的。但请注意错误消息:

SyntaxError:异步函数外部的“async with”

就是这样:只能在异步函数中使用
async with

import aiohttp
import asyncio

async def start():
    async with aiohttp.ClientSession() as session:
        async with session.get('http://httpbin.org/get') as resp:
            print(resp.status)
            print(await resp.text())


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

Python 3.5和3.6也是如此,它们只是在3.7中使它变得更友好了。

@caliph顺便说一句,一些简短的完全可运行的示例可以在网站的索引页上找到