Забавно. Скоро не будет никакого смысла идти за ответом сюда, когда можно к чатжпт сходить.
Даже читать не стал ваш вопрос после заголовка и скопировал его в чатжпт4. Вот что он ответил:
В `aiohttp`, процесс создания и настройки пользовательского TLS контекста отличается от того, что используется в `requests`. В `aiohttp`, вы должны настроить SSL контекст до создания сессии и передать его в качестве аргумента при создании клиентской сессии. Вот как вы можете адаптировать ваш пример для `aiohttp`:
1. Создайте SSL контекст, используя стандартную библиотеку `ssl`.
2. Настройте контекст, задав нужные параметры, такие как версия TLS, набор шифров и кривые ECDH.
3. Создайте экземпляр `aiohttp.ClientSession`, передав SSL контекст.
Пример кода:
import ssl
import aiohttp
class TLSv1_3_BYPASS:
ciphers = '...' # Здесь должен быть ваш список шифров
@staticmethod
def create_ssl_context():
ssl_context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
ssl_context.set_ciphers(TLSv1_3_BYPASS.ciphers)
ssl_context.set_ecdh_curve("prime256v1")
ssl_context.minimum_version = ssl.TLSVersion.TLSv1_3
ssl_context.maximum_version = ssl.TLSVersion.TLSv1_3
return ssl_context
# Создание SSL контекста
ssl_context = TLSv1_3_BYPASS.create_ssl_context()
# Создание aiohttp сессии с пользовательским SSL контекстом
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=ssl_context)) as session:
# Теперь вы можете использовать session для выполнения запросов
response = await session.get('https://example.com')
# ...
В этом примере кода создаётся пользовательский SSL контекст, который затем используется для создания `aiohttp.ClientSession`. Обратите внимание, что вам нужно будет заменить `'...'` в `ciphers` на фактический список шифров, которые вы хотите использовать.