Найти - Пользователи
Полная версия: Как понять, когда идет сетевой запрос или что именно происходит в aiohttp?
Начало » Python для экспертов » Как понять, когда идет сетевой запрос или что именно происходит в aiohttp?
1
Master_Sergius
Здравствуйте,

Если следовать примеру с официальной документации aiohttp:

 import aiohttp
import asyncio
 
async def main():
 
    async with aiohttp.ClientSession() as session:
        async with session.get('http://python.org') as response:
 
            print("Status:", response.status)
            print("Content-type:", response.headers['content-type'])
 
            html = await response.text()
            print("Body:", html[:15], "...")
 
loop = asyncio.get_event_loop()
loop.run_until_complete(main())

то имеем здесь две асинхронные точки входа в запрос: session.get('http://python.org') as response и await response.text()
Насколько я понял из кода библиотеки, метод text получает тело ответа потоком и возвращает строку. При этом еще до выполнения мы уже можем видеть response.status 200, то есть сетевой запрос как бы выполнен или что, но и text потом выполняет сетевой запрос. Кто-то может объяснить немного это все в деталях? Что и почему делает каждый запрос?

И можно ли извне посмотреть когда и какие запросы выполняются? Что-то вроде tcpdump?
Master_Sergius
Да, tcpdump показал, что и то и то делает сетевой запрос. И вот если я хочу написать либу для кеша, как же правильно кешировать параметры запроса и ответ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB