Я пытаюсь получить данные о ценах на биткойны в реальном времени из API Bitstamp Websocket v2.0. Где я могу получить сертификат, если это необходимо? Если загрузка сертификата происходит автоматически, как я могу убедиться, что Python может проверить полученный сертификат?
Документация на сайте Bitstamp довольно скудна по этому вопросу. Вот цитата из документации Bitstamp API:
«После того, как вы откроете соединение с помощью рукопожатия websocket (используя заголовок обновления HTTP), вы сможете подписаться на нужные каналы.»
Bitstamp api docs: https://www.bitstamp.net/websocket/v2/
Пробный поиск в документации по websockets: https://websockets.readthedocs.io/en/stable/
Я изучил веб-сокеты и SSL. Теперь я немного знаю о рукопожатии, но после долгих попыток и поисков я не могу понять, что делать.
import asyncio
import websockets
async def bitstamp_ticker():
async with websockets.connect(
'wss://ws.bitstamp.net', ssl=True) as websocket:
pass
asyncio.get_event_loop().run_until_complete(bitstamp_ticker())
Из того, что я понимаю в документации по websocket, добавление ssl = True должно быть достаточно для установления безопасного соединения. Но, похоже, что сертификат битовой метки не распознается центром сертификации, встроенным в Python 3.6. и вот почему возникает ошибка?
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)