API xStation xtb войти в неприятности - PullRequest
0 голосов
/ 20 декабря 2018

Кто-то знает, как войти в API xtb?http://developers.xstore.pro/documentation/

Запрос Python:

import requests, json

parameters = {
    "command" : "login",
    "arguments" : {
        "userId" : "10576375",
        "password": "PASSWORD"
    }
}

response = requests.get("https://xapia.x-station.eu:5124", params=parameters)
data = response.json()
print(data)

Ответ:

ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

Я что-то не так сделал?

1 Ответ

0 голосов
/ 27 января 2019

Требуется соединение SSL.Попробуйте следующее (работает для меня):

import socket
import ssl
import json

host = 'xapia.x-station.eu'
port = 5124
USERID = 123456
PASSWORD = 'YOURPASSWORD'

host = socket.getaddrinfo(host, port)[0][4][0]

s = socket.socket()
s.connect((host, port))
s = ssl.wrap_socket(s)

parameters = {
    "command" : "login",
    "arguments" : {
        "userId": USERID,
        "password": PASSWORD
    }
}
packet = json.dumps(parameters, indent=4)
s.send(packet.encode("UTF-8"))

END = b'\n\n'
response = s.recv(8192)
if END in response:
    print('Print login: {}'.format(response[:response.find(END)]))

parameters = {
    "command" : "logout"
}
packet = json.dumps(parameters, indent=4)
s.send(packet.encode("UTF-8"))

response = s.recv(8192)
if END in response:
    print('Print logout: {}'.format(response[:response.find(END)]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...