Как получить user-agent с client session в python

Имею код:

import asyncio
from aiohttp import ClientSession

headers = {
    'User-Agent': 'example',
}

async def send_request(headers):
    async with ClientSession() as session:
        async with session.get('https://example.com', headers = headers) as response:
            html_code = await response.text()
            print(response.headers)

if __name__ == "__main__":
    asyncio.run(send_request(headers))

И после отправки запроса, получаю:

<CIMultiDictProxy('Server': 'nginx-reuseport/1.13.4', 
'Date': 'Thu, 04 Mar 2021 17:35:15 GMT', 
'Content-Type': 'text/html; charset=UTF-8', 
'Content-Length': '31847', 
'Connection': 'keep-alive', 
'Keep-Alive': 'timeout=30', 
'X-Powered-By': 'PHP/7.3.20', 
'Vary': 'Accept-Encoding', 
'Content-Encoding': 'gzip', 
'Cache-Control': 'max-age=0', 
'Expires': 'Thu, 04 Mar 2021 17:35:15 GMT')>

Я хотел бы получить user agent который отправил на сервер от сервера. Это возможно?


Ответы (1 шт):

Автор решения: vladrunk
import asyncio
from aiohttp import ClientSession

headers = {
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) FxQuantum/86.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.0.0 Mobile Safari/537.36',
}

async def send_request(headers):
    async with ClientSession(headers = headers) as s:
        async with s.get('http://httpbin.org/headers', ) as r:
            print(s.headers)
            # далее твой код обработки ответа 

if __name__ == "__main__":
    asyncio.run(send_request(headers))

→ Ссылка