A:一个简单的通过opi方式取数demo:实现获取最近10日价格序列
R中依赖httr,jsonlite包,可在在进入R环境后输入install.packages('httr')、install.packages("jsonlite")安装相关包。
范例代码:
library(httr)
library(jsonlite)
# Run-天软代码串
url = "https://opi.tinysoft.com.cn/Service/Run/" # 调用天软代码串
headers = c(
"Connection" = "keep-alive",
"Content-Type" = "application/json",
"TS-EVENTNAME" = "auto",
"JSON-Encode" = "gbk"
)
# 天软代码串
tsstr = paste0("
SetSysParam(pn_stock(),'SZ000001');
SetSysParam(pn_date(),20260524t);
Return Nday(10,'time',DateTimeToStr(sp_time()),'close',close());
")
postdata = list(body=tsstr)
# 使用HTTPBasicAuth进行基本认证
response = POST(
url = url,
body = postdata,
encode = "json",
add_headers(.headers = headers),
#输入账号名与密码
authenticate("tuser", "tpassw", type = "basic"),
config = config(ssl_verifypeer = FALSE)
)
cat(status_code(response), "\n")
response_text = content(response, "text", encoding = "gbk")
data_list = fromJSON(response_text)
data_list
执行结果:
