25 KiB
运行时 / 网络与HTTP
appendHttpHeader(session, header)
声明:function
向指定会话中添加请求头信息
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | Session ID |
header |
string | 要添加的请求头信息 |
返回:any
clearHttpHeader(session)
声明:function
清除会话中的请求头信息
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | 可选参数,整数类型,session ID,缺省时指当前会话。 |
返回:any
destroyHttpSession(session, return_value)
声明:function
销毁一个Http Session对象,并返回销毁结果,销毁成功返回True。 仅新一代TSL语言支持该函数。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
int | 可选参数,整数类型,Session ID,缺省时指当前会话。 |
return_value |
bool | object |
返回:bool
getHttp(session, url, time_out, value, code)
声明:function
网络访问以及相关函数相关函数。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
int | int |
url |
string | int |
time_out |
int | |
value |
string | |
code |
int |
返回:bool
getHttpContent(session, frompos, return_value)
声明:function
获得HTTP返回的具体内容,可以从frompos开始取,缺省是取全部。 这个可以方便在progress回调函数中实现文件的临时存贮,亦可以动态打印内容。 仅新一代TSL语言支持该函数。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
intptr | 指定session ID |
frompos |
int | 可选参数,指定开始位置,位置从1开始,缺省时指取全部 |
return_value |
int | 获取到的具体内容 |
返回:string
getHttpCookies(session)
声明:function
获取指定会话、来自服务器设置的Cookies信息
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | Session ID |
返回:any
getHttpResponseHeader(session, return_value)
声明:function
获得HTTP返回的头信息,可以在header回调中看全部合成的header,也可以从已经完成会话的时候获得会话的头部信息。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
int | 可选参数,指定session ID。缺省时指当前会话。仅新一代TSL语言支持该可选参数。 |
return_value |
string | 当前下载到的完整的头部信息 |
返回:string
internetRequest(session, url, refer, header, post_data, user_name, pass_word, result_type, response_code, time_out)
声明:function
发送Internet访问请求,主要用于Web建立网站。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
int | 可选参数,整数类型,session ID,缺省时指当前会话。多次访问且需要使用同一条链路时,可指定为同个session ID。;注:旧版本TSL语言中,该参数含义为连接模式:0-微软WININET模式;1-TCP模式。 |
url |
string | 字符串类型,需要获取的URL串。如:http://www.tinysoft.com.cn |
refer |
int | 引用者。 |
header |
string | 发送请求的Http请求头。 |
post_data |
int | 发送的数据。 |
user_name |
int | 用户名。 |
pass_word |
string | 密码。 |
result_type |
string | 非0则Result返回Binary类型,为0则Result返回字符串类型。 |
response_code |
string | 存放返回的HTTP代码。例如,当正确的时候返回为200。 |
time_out |
string | 获取URL等待的毫秒数。 |
返回:bool
postHttp(session, url, content, time_out, value, code)
声明:function
以POST方式从指定的HTTP URL获得内容。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
int | 可选参数,整数类型,session ID,缺省时指当前会话。多次访问且需要使用同一条链路时,可指定为同个session ID。;注:旧版本TSL语言中,该参数含义为连接模式:0-微软WININET模式;1-TCP模式。 |
url |
string | 字符串类型,需要获取的URL串。如:http://www.tinysoft.com.cn |
content |
string | 二进制或字符串类型;要发送的数据。 |
time_out |
int | 获取URL等待的毫秒数。 |
value |
string | 存放返回的内容。 |
code |
int | 存放返回的HTTP代码。例如,当正确的时候返回为200。 |
返回:bool
setHttpAuth(session, user_name, pass_word, _type)
声明:function
设置指定会话中认证信息
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | Session ID |
user_name |
string | 用户名 |
pass_word |
string | 密码 |
_type |
any | 可选参数,认证信息类型;可多次调用以设置不同类型的认证信息: |
返回:any
setHttpCallBack(session, callback, t, return_value)
声明:function
设置http回调,缺省回调模式是progress模式,可以通过t设定为"header"设置头部回调函数。仅新一代TSL语言支持该函数。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
int | session ID |
callback |
TFUNCTION | 函数对象,回调函数。可通过findfunction(functionname)方式获取 |
t |
string | 可选参数,设置进度回调或头部模式。 |
return_value |
缺省模式,Progress模式指在HTTP请求|响应传输过程中,实时追踪数据传输进度的回调机制 | 无 |
返回:回调函数的返回值为0表示继续,非0则结束请求
setHttpCookies(session, cookies)
声明:function
设置指定会话中Cookies信息
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | Session ID |
cookies |
string | 要设置的Cookies值信息,多个Cookie以分号分隔,如SESSIONID=ABC123;THEME=DARK;一般无需设置,同一会话中发送的多次请求会自动携带服务器设置的Cookies |
返回:any
setHttpMode(session, mode, return_value)
声明:function
设置chunked模式(分段模式),主要用于大模型类的一个请求分段输出模式,支持类似于大模型一样按单词吐词输出。仅新一代TSL语言支持该函数。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | 指定session ID |
mode |
any | 输出模式,取值如下: |
return_value |
any | 无 |
返回:any
setHttpProxy(session, proxy_addr, proxy_type)
声明:function
设置指定会话中代理信息
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | Session ID |
proxy_addr |
string | 代理地址 |
proxy_type |
any | 可选参数,代理类型: |
返回:any
setHttpVerifySsl(session, verify)
声明:function
设置指定会话是否校验服务器证书
| 参数 | 类型 | 说明 |
|---|---|---|
session |
any | Session ID |
verify |
bool | object |
返回:any
URL 内容函数
urlToText(a_src)
声明:function
将URL标准格式的串转化为文本字符串
| 参数 | 类型 | 说明 |
|---|---|---|
a_src |
string | 字符串类型 |
返回:string
示例
a_src := "%23abcd%20%2010";
return urlToText(a_src);
// 结果:#abcd 10
NetProfitGrowRatio_12(r_date)
声明:function
最近12个月的净利润增长率(%)。 (1)归属于母公司所有者净利润数据取自合并利润分配表; (2)V1:RDate报告期最近12个月的归属于母公司所有者净利润; (3)V2:上年同期PRDate最近12个月的归属于母公司所有者净利润; (4)最近12个月的净利润增长率(%)=(V1-V2)/abs(V2)*100。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetDebt_12(r_date)
声明:function
最近12个月的净债务=付息债务-最近12个月的期末现金余额。 (1)付息债务=短期借款+长期借款。 (2)从资产负债表中取短期债务和长期债务,从现金流量表中取得期末现金余额。根据算法得到净债务。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetAssetsPS_12(r_date)
声明:function
最近12个月的每股净资产。 (1)最近12个月的每股净资产=最近12个月归属母公司股东权益合计/总股本; (2)归属母公司股东权益合计取自合并资产负债表,根据最近12个月的算法计算得到最近12个月归属母公司股东权益合计【注1】; (3)总股本取RDate当天的数据。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetAssetsPSGrowRatio_12(r_date)
声明:function
最近12个月的每股净资产增长率(%)。 (1)函数从合并利润分配表中取该报告期归属母公司股东权益合计,根据算法得到最近12个月的归属母公司股东权益合计【注1】; (2)取Rdate当日的总股本; (3)最近12个月的每股净资产V1=最近12个月的归属母公司股东权益合计/总股本; (4)同理计算上年同期的最近12个月的每股净资产V2; (5)最近12个月的每股净资产增长率(%)=(V1-V2)/abs(V2)*100。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetEquityReturn_12(r_date)
声明:function
最近12个月的净资产收益率(%)。 (1)净资产收益率(%)=最近12个月净利润/股东权益×100; (2)净利润取自合并利润分配表,根据最近12个月的算法得到最近12个月净利润【注1】; (3)股东权益取自合并资产负债表,只取报告期RDate的数据。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashfromIA_12(r_date)
声明:function
最近12个月的投资活动产生的现金流量净额。 (1)投资活动产生的现金流量净额取自合并现金流量表; (2)根据最近12个月的算法得到最近12个月的投资活动产生的现金流量净额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashfromOAGrowRatio_12(r_date)
声明:function
最近12个月的经营活动产生的现金流量净额增长率(%)。 (1)经营活动产生的现金流量净额取自合并现金流量表;根据最近12个月的算法得到最近12个月的经营活动产生的现金流量净额V1【注1】; (2)同理取得上年同期最近12个月的经营活动产生的现金流量净额V2; (3)最近12个月的经营活动产生的现金流量净额增长率(%)=(V1-V2)/abs(V2)*100。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashFromOA_12(r_date)
声明:function
最近12个月的经营活动产生的现金流量净额。 (1)经营活动产生的现金流量净额取自合并现金流量表; (2)根据最近12个月的算法得到最近12个月的经营活动产生的现金流量净额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashFromFA_12(r_date)
声明:function
最近12个月的筹资活动产生的现金流量净额。 (1)筹资活动产生的现金流量净额取自合并现金流量表; (2)根据最近12个月的算法得到最近12个月的筹资活动产生的现金流量净额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetIncrease_12(r_date)
声明:function
最近12个月的现金及现金等价物净增加额。 (1)现金及现金等价物净增加额取自合并现金流量表; (2)根据最近12个月的算法得到最近12个月的现金及现金等价物净增加额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetProfit_12(r_date)
声明:function
最近12个月的归属于母公司所有者的净利润。 (1)母公司所有者的净利润取自合并利润分配表; (2)根据最近12个月的算法得到最近12个月的母公司所有者的净利润【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetProfit2_12(r_date)
声明:function
最近12月净利润(业绩快报),与系统参数(股票)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数。报告期 |
返回:float
NetEquityReturn_Year(r_date, n)
声明:function
最近N年的净资产收益率(%)。 (1)取向后兼容的最新年报Q1,取N-1年前同期的年报Q2; (2)取Q2报告期的归属于母公司所有者的净利润(合并利润分配表)v1,以及Q2报告期的归属母公司股东权益合计(合并资产负债表)v2; (3)最近N年的净资产收益率(%)=v1/v2*100。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期; |
n |
any | 整数,最近N年。 |
返回:float
NetAssetsPerShare_Year(r_date)
声明:function
最近1年的每股净资产。 (1)取向后兼容RDate的最新报告期NewRDate; (2)从资产负债表中取报告期NewRDate的归属母公司股东权益合计V1,以及NewRDate当天的总股本V2; (3)最近1年的每股净资产=V1/V2; (4)注意,资产负债表的科目不统计最近12个月的数据,只返回报告期的数据。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期; |
返回:float
NetProfit_Year(r_date, n)
声明:function
最近N年的归属于母公司所有者的净利润。 (1)取向后兼容的最新年报Q1,取N-1年前同期的年报Q2; (2)在合并利润分配表取Q2报告期的归属于母公司所有者的净利润。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期; |
n |
any | 整数,最近N年 |
返回:float
NetIncrease_Q(r_date)
声明:function
季度的现金及现金等价物净增加额。 (1)从合并现金流量表中取出现金及现金等价物净增加额; (2)按照季度的算法,计算出RDate季度的现金及现金等价物净增加额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashfromIA_Q(r_date)
声明:function
季度的投资活动产生的现金流量净额。 (1)从合并现金流量表中取出投资活动产生的现金流量净额; (2)按照季度的算法,计算出RDate季度的投资活动产生的现金流量净额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashFromOA_Q(r_date)
声明:function
季度的经营活动产生的现金流量净额。 (1)从合并现金流量表中取出经营活动产生的现金流量净额; (2)按照季度的算法,计算出RDate季度的经营活动产生的现金流量净额【注1】。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期。 |
返回:float
NetCashFromFA_Q(r_date)
声明:function
计算指定报告期最近1季度的筹资活动产生的现金流。 根据季度数据的算法【注3】,函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流,计算最近1季度的筹资活动产生的现金流。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期; |
返回:float
NetProfit_Q(r_date)
声明:function
计算指定报告期最近1季度的净利润。 根据季度数据的算法【注3】,函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流,计算最近1季度的净利润。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数,报告期; |
返回:float
NetProfit2_Q(r_date)
声明:function
归属于母公司所有者净利润(业绩快报),与系统参数(股票)相关。 实数。归属于母公司所有者净利润(业绩快报)。
| 参数 | 类型 | 说明 |
|---|---|---|
r_date |
datetime | 整数。报告期 |
返回:float
netassetweeklylist_call(fund_arr, end_t, beg_t, sort_by, sort_order, return_number)
声明:function
基金列表指定区间单位净值、累计净值及其变化。
| 参数 | 类型 | 说明 |
|---|---|---|
fund_arr |
array | 数组。基金列表。 |
end_t |
datetime | 日期。截止日期。 |
beg_t |
datetime | 日期。同比日期。 |
sort_by |
string | 字符串。排序字段,取值如下: |
sort_order |
any | 整数。排序方法,1表示正序,0表示逆序。 |
return_number |
any | 整数。返回个数。 |
返回:array
setHttpAcceptencodingon(session, is_zip)
声明:function
设定是否支持压缩。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
comobj | session ID |
is_zip |
bool | 是否支持压缩传输,默认支持 |
返回:any
示例
url := "http://www.baidu.com";
sid := createHttpSession();
setHttpAcceptencodingon(sid, false); // 设定为不允许压缩传输
setHttpCallBack(sid, findfunction("DownProg01")); // 进度回调
r := getHttp(url, 60000, v, code);
echo "\r\nDone", '->code:', code, '->返回内容总长度:', length(v), "\r\n";
return 0;
// --------------进度回调函数---------------------
function DownProg01(sid, alldn_b, dn_b, allup_b, up_b); // progresscallback-不提前结束
begin
if dn_b > 0 then // 如果大于0则打印
begin
echo "AlldnB:", alldn_b, ",dnB:", dn_b, ",AllupB:", allup_b, ",upB:", up_b, "\r\n";
end;
return 0; // not done
end;
// 打印信息如下:
setHttpAcceptencoding(session, acceptencodingstr)
声明:function
设定压缩格式编码类型。
| 参数 | 类型 | 说明 |
|---|---|---|
session |
comobj | session ID |
acceptencodingstr |
string | Accept-Encoding类型 |
返回:any
示例
url := "http://www.baidu.com";
sid := createHttpSession();
setHttpAcceptencoding(sid, "gzip"); // 设定压缩格式编码类型
setHttpCallBack(sid, findfunction("DownProg01")); // 进度回调
r := getHttp(url, 60000, v, code);
echo "\r\nDone", '->code:', code, '->返回内容总长度:', length(v), "\r\n";
return 0;
// --------------进度回调函数---------------------
function DownProg01(sid, alldn_b, dn_b, allup_b, up_b); // progresscallback-不提前结束
begin
if dn_b > 0 then // 如果大于0则打印
begin
echo "AlldnB:", alldn_b, ",dnB:", dn_b, ",AllupB:", allup_b, ",upB:", up_b, "\r\n";
end;
return 0; // not done
end;
// 打印结果:
// 注:当http进度回调时,当服务器使用分块传输(启用压缩通常会使用分块传输)时, 无法预先知道总大小所以可能出现为0的情况,属于正常现象。