Hi guys, I've been trying to connect to the websocket from refinitiv api with a python library called websockets, I know that in the code of example (https://github.com/Refinitiv/websocket-api/tree/master/Applications/Examples/RDP/python) has a library that it uses to make this connection, which in this case is "websocket.WebSocketApp" but this library does not accept making this connection asynchronously. so I wanted to use the websockets library as it makes this connection asynchronously. But when I try to make this connection to the websocket with this lib, I get the message: "websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 400" all the information in my code is correct, because if I change to the lib websocket.WebSocketApp it can connect to the endpoint.
thank you, I'll wait.
My code:
import json
import asyncio
import ssl
from websockets import client
CERT = ssl.SSLContext()
async def connection_to_websocket():
await handler_token.get_request_token() # get de request_token and send to send_login_request function
async with client.connect("link to endpoint websocket", ssl=CERT) as websocket:
login_json = {
"ID": 1,
"Domain": "Login",
"Key": {
"NameType": "AuthnToken",
"Elements": {
"ApplicationId": "256",
"Position": "My_IP",
"AuthenticationToken": f"ACCESS_TOKEN",
},
},
}
await websocket.send(json.dumps(login_json))
await websocket.recv()
asyncio.get_event_loop().run_until_complete(connection_to_websocket())