我想使用asyncio库连接多个地址,例如 '127.0.0.1:8000/hello'
但是我可以在哪里放置“ / hello”部分?我怎么称呼这部分呢? (端点?静态网址?)
asyncio.open_connection('127.0.0.1', 8000)
答案 0 :(得分:2)
但是,在可以我把
/hello
一部分?
asyncio.open_connection
打开到给定远程端点的原始TCP连接。格式为127.0.0.1:8000/hello
的地址强烈表示HTTP连接。 HTTP是您使用TCP连接(在你的情况下127.0.0.1
和端口8000)的给定的主机和端口和发送的请求建立在TCP,顶部的协议指定格式,并向服务器提供响应的答案。
HTTP通信是一个复杂的主题,不是您想从头开始实现的东西。幸运的是有成熟的是为您处理ASYNCIO感知库,如aiohttp。使用该库连接到服务器可能看起来像这样:
import aiohttp, asyncio
async def connect_to(url, session):
async with session.get(url) as response:
return await response.data()
async def main():
async with aiohttp.ClientSession() as session:
data = connect_to('http:/127.0.0.1:8000/hello')
# do something with data, or connect to other urls
asyncio.run(main())
和我怎么能叫这部分? (端点?静态网址?)
该部分通常称为网址的路径,例如the RFC的3.3节中有更多详细信息。