A:本页中主要展示开发者用户在python中通过OPI接口调用天软函数的具体实现,即使用URI:/Service/Call/funcName。
下面示例中,主要展示调用天软范例函数(公用函数):GetTimeSeriesSample(BegT,EndT,StockId,cycle)
功能:获取指定个股在时间区间内每日价格,及30日均价
在python中执行下面这段代码:
from datetime import datetime,timedelta
import requests
from requests.auth import HTTPBasicAuth
# 封装:tsl与python的日期时间转换,TSL TDateTime 的基点为1899年12月30日
TSL_EPOCH = datetime(1899, 12, 30)
def tslDateToPy(dvalue: float) -> datetime:
return TSL_EPOCH + timedelta(days=dvalue)
def pyDateTotsl(dt: datetime) -> float:
return (dt - TSL_EPOCH) / timedelta(days=1)
#requests.post方式有参数函数
url='https://opi.tinysoft.com.cn/Service/Call/GetTimeSeriesSample'; #平台用户调用函数
headers={'Connection': 'keep-alive',
'Content-Type': 'application/json',
'TS-EVENTNAME': 'auto',
'JSON-Encode': 'gbk'}
#命名参数方式
#postdata={"BegT":pyDateTotsl(datetime(2026,3,25)),"EndT":pyDateTotsl(datetime(2026,4,10)),"StockId":"SZ000002","cycle":"日线"};
#顺序传参方式
postdata=[pyDateTotsl(datetime(2026,3,25)),pyDateTotsl(datetime(2026,4,10)),"SZ000002","日线"]
session = requests.Session()
#tsuser为天软账号名,tspass为密码,用户需要指定
session.auth = HTTPBasicAuth('tsuser', 'tspass')# 使用HTTPBasicAuth进行基本认证
#session.verify = False #若证书提示报错时,可以通过这句设置禁用证书校验
session.headers.update(headers)
response = session.post(url,json=postdata)
if response.status_code==200:
print("请求成功")
print(response.text)
else:
print(f"请求失败,状态码: {response.status_code}")
print(f"响应内容: {response.text}")
response.close()
执行结果:
注:若执行报证书相关提示,则可参考
FAQ:
Q:python中通过TS-OPI方式调用天软函数