r语言 - "xtb" API 中的 httr 身份验证登录名/密码



我需要使用此api 进行身份验证并获取价格

我没有使用api的经验,所以我尝试登录时出现错误

login <- "vikov98261@jesdoit.com"
pass <- "QazQaz123"
library(httr)
resp <- POST("xapi.xtb.com", 
body=list(userId = login,
password = pass) )
Error in curl::curl_fetch_memory(url, handle = handle) : 
Failed to connect to xapi.xtb.com port 80: Timed out

有人能教我怎么做对吗。我想要一个login请求如何工作的示例。此外,我想举一个例子,说明如何获得任何货币的价格

他们的API文档使用WebSocket语法,所以我假设xapi.xtb.com可能只供客户端使用。I、 这一次,只设法让WebSocket工作起来。

为了在r中实现这一点,您需要r的WebSocket客户端库,例如WebSocket。一旦你有了:

1.定义连接

ws <- WebSocket$new("wss://ws.xtb.com/demo")

2.登录

WebSocket客户端处理事件。"打开"事件在建立连接后生成,"消息"事件在接收消息时生成。您需要为它们编写处理程序来编排您想要使用XTB API的方式。

第一个事件将是"open",因此使用它来发送登录命令。

ws$onOpen(function(event) {
ws$send({
"command":"login",
"arguments": { 
"userId":"1000",
"password":"PASSWORD",
"appId":"test",
"appName":"test"
}
})
})

3.您的逻辑

对登录命令的响应将触发一个"消息"事件,您需要在代码中处理该事件的输出。

ws$onMessage( <your-code-goes-here> )

最简单的方法可能是根据接收到的消息的结构发送新命令,尽管使用许多命令可能会变得非常复杂。

4.连接

定义完所有句柄后,不要忘记连接。

ws$connect()

最新更新