@lisaisacat
2020-02-06T22:22:29.000000Z
字数 7165
阅读 1903
请在脚本开头插入 require("tsnet") 即可调用扩展库中所有函数。
iOS 11 以下系统设备需要放到如下路径:/var/mobile/Media/TouchSprite/plugin/。
iOS 11 及其以上系统设备放到如下路径:/usr/bin/tsplugin/。
安卓版和模拟器版 ts.so 需要放到如下路径:data/data/com.touchsprite.android/files/plugin/。
安卓设备找不到该目录时需要使用第三方文件管理器,推荐 RE文件管理器。
引擎版本:Android v3.1.7.1 及其以上版本,增加了 TSP 脚本释放文件到特定平台中的功能,就是说可以决定文件(包括除 lua 格式外的所有文件)是释放到安卓真机中,还是安卓模拟器中,还是真机和模拟器中都释放,比如说安卓 ts.so 分安卓真机和安卓模拟器两个版本,v3.1.8 以前版本打包真机的 ts.so 则模拟器无法使用,打包模拟器的 ts.so 则真机无法使用,现在设置特定的文件名前缀的 ts.so 可以在安卓真机和模拟器上都使用。
安卓真机文件前缀:__pf_android_arm__文件名称,只释放到安卓真机中。
安卓模拟器文件前缀:__pf_android_x86__文件名称,只释放到安卓模拟器中。
安卓真机/安卓模拟器文件前缀:__pf_android__文件名称,可以释放到安卓真机和安卓模拟器中。
注意:修改文件前缀后需要重新打包脚本才会生效。
iOS 仅支持专业版和企业版。
安卓仅支持标准版和企业版,标准版需要登录账号、购买 VIP 并且在调用过程中账号需要保持登录状态否则会导致调用失效。
Android 真机与模拟器 tsimg.so 文件不同,需要按照设备类型进行下载。
iOS 下载新的扩展库后需要重启触动服务才能生效。
平台 | 版本 | 备注 | 更新日期 | 下载 |
---|---|---|---|---|
iOS | v1.0.0 | 仅支持专业版和企业版 | iOS-v1.0.0 | |
安卓真机 | v1.0.0 | 支持标准版和企业版 | 安卓真机-v1.0.0 | |
安卓模拟器 | v1.0.0 | 支持标准版和企业版 | 安卓模拟器-v1.0.0 |
函数名称:获取扩展库版本
函数功能:用来判断获取扩展库版本号
函数方法
version = TSNETVersion()
参数 | 类型 | 说明 |
---|---|---|
version | string | 版本号 |
脚本实例:
require("tsnet")
dialog("tsnet.so 版本号 : " .. TSNETVersion())
函数名称:设置请求超时时间
函数功能:设置 http/https 类型请求超时时间
函数方法
http.setTimeout(sec)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
sec | number | 选填 | 超时时间,单位为秒 |
注意事项:
函数名称:发送 httpGET/httpsGET 请求
函数功能:发送 httpGET/httpsGET 类型请求
函数方法
status,header,content = http.get(url,tb)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
url | string | 必填 | 请求 URL |
tb | table | 选填 | table 参数 |
table 参数介绍
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
headers | table | 选填 | 请求头部内容,本参数必须与请求体一起填写 |
params | table | 选填 | 字段对,会转换成 aaa=111&bbb=222 的形式 |
opts | table | 选填 | 保存返回数据及对返回值进行转码 |
postdata | table | 选填 | 需要发送的数据 |
opts 参数介绍
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
save | string | 选填 | 要保存返回数据的文件路径/文件下载保存的路径 |
charset | string | 选填 | 是否对返回值进行转码,gbk - 将 gbk 格式数据转换成 utf-8 格式数据,utf8 - 将 utf-8 格式数据转换成 gbk 格式数据 |
返回值 | 类型 | 说明 |
---|---|---|
status | number | HTTP 状态码 |
header | string | 返回头部 |
content | string | 返回内容 |
脚本实例:
require("tsnet")
status,header,content = http.get("https://whois.pconline.com.cn/ip.jsp",{headers={aaa=123,cd=12},params={aaa=111,bbb=222},opts={save=userPath().."/res/1.txt",charset="gbk"}})
dialog(status)
require("tsnet")
status,header,content = http.get("https://whois.pconline.com.cn/ip.jsp",{headers={aaa=123,cd=12},params={aaa=111,bbb=222},opts={charset="gbk"}})
dialog(status)
dialog(header)
dialog(content)
--下载文件
require("tsnet")
table = {
pts = {
save = userPath() .. "/res/1.exe"
}
}
status,header,content = http.get("http://res.ldmnq.com/download/3.27/ldinst_3.27.2.10020.exe",table)
if status == 200 then
dialog("下载成功")
else
dialog("下载失败")
end
注意事项:
如果使用了ops参数中的 save 参数,则返回值中的 header 和 content 将失效,都为空字符串。
不使用 http.setTimeout 函数默认超时时间为 10 秒。
函数名称:发送 httpPOST/httpsPOST 请求
函数功能:发送 httpPOST/httpsPOS 类型请求
函数方法
status,header,content = http.post(url,tb)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
url | string | 必填 | 请求 URL |
tb | table | 选填 | table 参数 |
table 参数介绍
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
headers | table | 选填 | 请求头部内容,本参数必须与请求体一起填写 |
params | table | 选填 | 字段对,会转换成 aaa=111&bbb=222 的形式 |
opts | table | 选填 | 保存返回数据及对返回值进行转码 |
opts 参数介绍
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
save | string | 选填 | 要保存返回数据的文件路径 |
charset | string | 选填 | 是否对返回值进行转码,gbk - 将 gbk 格式数据转换成 utf-8 格式数据,utf8 - 将 utf-8 格式数据转换成 gbk 格式数据 |
返回值 | 类型 | 说明 |
---|---|---|
status | number | HTTP 状态码 |
header | string | 返回头部 |
content | string | 返回内容 |
脚本实例:
require("tsnet")
status,header,content = http.post("https://whois.pconline.com.cn/ip.jsp",{headers={aaa=123,cd=12},params={aaa=111,bbb=222},opts={save=userPath().."/res/1.txt",charset="gbk"}})
dialog(status)
require("tsnet")
status,header,content = http.post("https://whois.pconline.com.cn/ip.jsp",{headers={aaa=123,cd=12},params={aaa=111,bbb=222},opts={charset="gbk"}})
dialog(status)
dialog(header)
dialog(content)
注意事项:
如果使用了ops参数中的save参数,则返回值中的 header 和 content 将失效,返回的都为空字符串。
不使用 http.setTimeout 函数默认超时时间为 10 秒。
函数名称:连接 FTP 服务器
函数功能:连接 FTP 服务器,使用 FTP 功能前必须先连接
函数方法
ftp.init(url,username,password)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
url | string | 必填 | 服务器地址,示例:"1.1.1.1" |
username | string | 必填 | 用户名,服务器登录用户名 |
password | string | 必填 | 密码,服务器登录密码 |
函数名称:断开 FTP 连接
函数功能:断开 FTP 连接,FTP 功能使用结束后必须调用
函数方法
ftp.clean()
函数名称:设置 FTP 超时时间
函数功能:设置 FTP 超时时间,超时后执行下一步防止阻塞
函数方法
ftp.setTimeout(sec)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
sec | number | 选填 | 超时时间,单位为秒 |
注意事项:
函数名称:创建文件夹
函数功能:在服务器指定目录下创建文件夹
函数方法
ret,msg = ftp.mkdir(filePath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
filePath | string | 必填 | 文件夹路径及文件夹名 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 创建成功,0 - 创建失败 |
msg | string | 创建失败返回失败原因 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg = ftp.mkdir("/test")
if ret == 1 then
dialog("创建成功")
else
dialog("创建失败".."\n".."失败原因:"..msg)
end
注意事项:
函数名称:删除文件夹
函数功能:在服务器删除指定的文件夹
函数方法
ret,msg = ftp.rmkdir(filePath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
filePath | string | 必填 | 删除指定目录下的文件夹 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 删除成功,0 - 删除失败 |
msg | string | 删除失败返回失败原因 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg = ftp.rmdir("/test")
if ret == 1 then
dialog("删除成功")
else
dialog("删除失败".."\n".."失败原因:"..msg)
end
注意事项:
函数名称:上传文件
函数功能:上传本地文件到服务器
函数方法
ret,msg = ftp.upload(localfilepath,severfilepath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
filePath | string | 必填 | 本地文件路径 |
severfilepath | string | 必填 | FTP 文件路径 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 上传成功,0 - 上传失败 |
msg | string | 上传失败返回失败原因 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg = ftp.upload(userPath().."/res/1.png","/test/1.png")
if ret == 1 then
dialog("上传成功")
else
dialog("上传失败".."\n".."失败原因:"..msg)
end
ftp.clean()
注意事项:
函数名称:下载文件
函数功能:下载服务器文件到本地
函数方法
ret,msg = ftp.download(localfilepath,severfilepath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
localfilepath | string | 必填 | 本地文件路径 |
severfilepath | string | 必填 | FTP 文件路径 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 下载成功,0 - 下载失败 |
msg | string | 下载失败返回失败原因 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg = ftp.download(userPath().."/res/1.png","/test/1.png")
if ret == 1 then
dialog("下载成功")
else
dialog("下载失败".."\n".."失败原因:"..msg)
end
ftp.clean()
注意事项:
函数名称:获取文件列表文件
函数功能:获取服务器指定目录下的文件列表
函数方法
ret,msg,list = ftp.list(filepath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
filePath | string | 必填 | 需要获取的文件夹路径 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 获取成功,0 - 获取失败 |
msg | string | 获取失败返回失败原因 |
list | table | 获取的文件列表 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg,list = ftp.list("/test/")
if ret == 1 then
if list then
allFilestr = ""
for i,v in pairs(list) do
allFilestr=v.."\n"..allFilestr;
end
dialog("获取成功:"..allFilestr)--打印文件夹内所有文件列表
end
else
dialog("获取失败".."\n".."失败原因:"..msg)
end
ftp.clean()
注意事项:
函数名称:重命名文件
函数功能:重命名服务器上指定目录的文件
函数方法
ret,msg = ftp.rename(oldfilepath,filepath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
oldfilepath | string | 必填 | 待重命名文件名 |
filepath | string | 必填 | 新文件名 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 重命名成功,0 - 重命名失败 |
msg | string | 重命名失败返回失败原因 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg = ftp.rename("/test/123.png","/test/223.png")
if ret == 1 then
dialog("重命名成功")
else
dialog("重命名失败".."\n".."失败原因:"..msg)
end
ftp.clean()
注意事项:
函数名称:删除文件
函数功能:删除指定文件
函数方法
ret,msg = ftp.delete(filepath)
参数 | 类型 | 字段 | 说明 |
---|---|---|---|
filePath | string | 必填 | 文件路径下的文件,具体文件需要加上扩展名 |
返回值 | 类型 | 说明 |
---|---|---|
ret | string | 1 - 删除成功,0 - 删除失败 |
msg | string | 删除失败返回失败原因 |
脚本实例:
--脚本仅供参考不可直接使用
require("tsnet")
ftp.setTimeout(50)
local url ="1.1.1.1"
local username ="ceshi"
local password ="ceshi"
ftp.init(url,username,password)
ret,msg = ftp.delete("/test/1.png")
if ret == 1 then
dialog("删除成功")
else
dialog("删除失败".."\n".."失败原因:"..msg)
end
ftp.clean()
注意事项: