网络模块

分类 :网络时间

函数:net.time() 网络时间

原函数名 : getNetTime
函数说明 : 获取网络时间。
函数方法 : net.time();
返回值 : 时间 time

返回值类型说明
timenumber时间戳

示例

time = net.time();
if time ~= -1 then
    tt = os.date("*t", time);
    if tt.year > 2014 and tt.month > 2 and tt.day > 15 and tt.hour > 12 and tt.min > 30 and tt.sec >20 then
        sys.dialog("当前时间超过了2014年2月15日12点30分20秒");
    end
else
    sys.dialog("请连接网络");
end

示例:获取网络时间判断脚本是否到期

endtime    = os.time{year=2016, month=1, day=1, hour=0, min=0, sec=0};--到期时间2016年1月1日0点0分0秒
if endtime > net.time() then --结束日期大于现在日期
    sys.dialog("脚本未到期");
else
    sys.dialog("脚本已到期");
end

注意事项:

该时间与lua的os.time()函数一样, 返回的是UTC时间1970年1月1日0时0分0秒到现在流逝的秒数, 可以配合os.date()转换成方便阅读的格式。返回-1表示不能连接网络时间服务器

分类 :HTTP函数

函数:net.http.get() HTTP Get请求

原函数名 : httpGet
函数说明 : HTTP协议访问。
函数方法 : net.http.get(远程地址 url, 超时 timeout?);
返回值 : 数据 data, 状态码 status

参数类型说明必填
urlstring网址URL必填
timeoutnumber超时时间可选参数,默认10秒
返回值类型说明
datastring响应数据, 失败的话返回空字符串
statusnumber响应状态码

示例

data, status = net.http.get('http://www.baidu.com'); -- 获取www.baidu.com的内容
sys.log(data);              -- www.baidu.com的内容
sys.log(status);            -- 状态码

函数:net.http.post() POST协议访问

原函数名 : httpPost
函数说明 : HTTPPOST协议访问。
函数方法 : net.http.post(远程地址 url, 请求头部 header?, 请求数据 body?, 超时 timeout?);
返回值 : 数据 data, 状态码 status

参数类型说明必填
urlstring网址URL必填
headertable请求头非必填
bodystring or table请求数据非必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
datastring响应数据, 失败的话返回空字符串
statusnumber响应状态码

示例

header = {}
header["Content-Type"] = "application/x-www-form-urlencoded"
data, status = net.http.post('http://www.baidu.com', header, 'x=1', 10)
sys.log(data);              -- 响应数据
sys.log(status);            -- 响应状态码

分类 :FTP函数

函数:net.ftp.get() 文件下载

原函数名 : ftpGet
函数说明 : ftp下载。
函数方法 : net.ftp.get(远程地址 url, 本地路径 path, 用户 user, 密码 pass, 超时 timeout?);
返回值 : 是否成功 flag, 错误信息 err

参数类型说明必填
urlstring远程文件地址必填
pathstring本地文件路径必填
userstringFTP服务器用户名必填
passstringFTP服务器密码必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

-- 将FTP服务器192.168.1.100上路径为/a.txt的文件下载到/var/touchelf/a.txt
flag,err = net.ftp.get("ftp://192.168.1.100/a.txt", "/var/touchelf/a.txt", "user", "pass") 
if flag then
    sys.dialog("下载成功")
else
    sys.log(err)
    sys.dialog("下载失败")
end

函数:net.ftp.put() 文件上传

原函数名 : ftpPut
函数说明 : ftp上传。
函数方法 : net.ftp.put(远程地址 url, 本地路径 path, 用户 user, 密码 pass, 超时 timeout?);
返回值 : 是否成功 flag, 错误信息 err

参数类型说明必填
urlstring远程文件地址必填
pathstring本地文件路径必填
userstringFTP服务器用户名必填
passstringFTP服务器密码必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

 -- 将本地文件/var/touchelf/a.txt上传为FTP服务器192.168.1.100上路径为/a.txt的文件
flag,err = net.ftp.put("ftp://192.168.1.100/a.txt", "/var/touchelf/a.txt", "user", "pass")
if flag then
    sys.dialog("上传成功")
else
    sys.log(err)
    sys.dialog("上传失败")
end

函数:net.ftp.newDir() 新建目录

函数说明 : 在FTP服务器上新建目录
函数方法 : net.ftp.newDir(远程地址 url, 用户 user, 密码 pass, 超时 timeout?);
返回值 : 是否成功 flag, 错误信息 err

参数类型说明必填
urlstring远程文件地址必填
userstringFTP服务器用户名必填
passstringFTP服务器密码必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

-- 在FTP服务器192.168.1.100根目录下创建一个 a 文件夹
flag,err = net.ftp.newDir("ftp://192.168.1.100/a", "user", "pass")
if flag then
    sys.dialog("新建目录成功")
else
    sys.log(err)
    sys.dialog("新建目录失败")
end
--也可一次性创建多层目录
net.ftp.newDir("ftp://192.168.1.100/a/b/c", "user", "pass")

函数:net.ftp.remove() 文件删除

函数说明 : 删除FTP服务器上的文件
函数方法 : net.ftp.remove(远程地址 url, 用户 user, 密码 pass, 超时 timeout?);
返回值 : 是否成功 flag, 错误信息 err

参数类型说明必填
urlstring远程文件地址必填
userstringFTP服务器用户名必填
passstringFTP服务器密码必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
flagboolean返回true或者false
errstring错误详细信息

示例

-- 删除FTP服务器192.168.1.100根目录下的一个 a.txt 文件
flag,err = net.ftp.remove("ftp://192.168.1.100/a.txt", "user", "pass")
if flag then
    sys.dialog("文件删除成功")
else
    sys.log(err)
    sys.dialog("文件删除失败")
end

函数:net.ftp.exists() 文件是否存在

函数说明 : 检查FTP服务器上文件是否存在
函数方法 : net.ftp.exists(远程地址 url, 用户 user, 密码 pass, 超时 timeout?);
返回值 : 是否成功 flag, 文件类型 filetype

参数类型说明必填
urlstring远程文件地址必填
userstringFTP服务器用户名必填
passstringFTP服务器密码必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
flagboolean返回true或者false
filetypestring返回文件类型(file or dir)

示例

-- 检查FTP服务器192.168.1.100根目录下的 a.txt 文件是否存在
flag,filetype = net.ftp.exists("ftp://192.168.1.100/a.txt", "user", "pass")
if flag then
    sys.dialog("文件存在")
    sys.log(filetype)
else
    sys.dialog("文件不存在")
end

函数:net.ftp.list() 文件列表

函数说明 : 查询FTP服务器上文件列表
函数方法 : net.ftp.list(远程地址 url, 用户 user, 密码 pass, 超时 timeout?);
返回值 : 文件列表 list

参数类型说明必填
urlstring远程文件地址必填
userstringFTP服务器用户名必填
passstringFTP服务器密码必填
timeoutnumber超时时间非必填,默认10秒
返回值类型说明
flagboolean返回true或者false
listtable返回文件列表

示例

-- 查询FTP服务器192.168.1.100根目录下的 a 文件夹内的而文件
flag,list = net.ftp.list("ftp://192.168.1.100/a", "user", "pass")
if flag then
    sys.log(list)
end