Я пытаюсь установить sh хаб-соединение и вести переговоры через API, предоставленный биржевой компанией. Это фрагмент кода, разработанный с использованием Signalr_aio в Python.
from signalr_aio import Connection
import asyncio
from requests import Session
async def pushMessage(**msg):
print(msg)
if 'R' in msg and type(msg['R']) is not bool:
token = msg['R']
sessionRealtime.headers.update({'Authorization': 'Bearer {}'.format(token)})
server_url = 'https://edbi.ephoenix.ir/realtime'
sessionRealtime = Session()
connection = Connection(server_url, session=sessionRealtime)
connection.received += pushMessage
hub = connection.register_hub('omsclienttokenhub')
hub.server.invoke('GetAPIToken', 'xxxxxxxxx', 'yyyyyyyyyy')
hub = connection.register_hub('omsclienthub')
connection.start()
Я попробовал метод GetTime, и он успешно вернул время ,
hub.server.invoke('GetTime')
{'R': '00: 19: 10 ',' I ':' 2 '}
Однако я получаю сообщение об ошибке, когда Я вызываю метод GetInstrumentList,
hub.server.invoke('GetInstrumentList')
{'R': {'ex': {'i': Нет, 'm': 'Ссылка на объект не установлена на экземпляр объект. '}},' I ':' 1 '}
Я полагаю, что существует проблема с обновлением заголовка запроса? Или я должен транспортировать токен как строку запроса в измененном URL-адресе?!