1.使用官方自带的FTP下载,首先你要有一个FTP服务器.配置方法百度吧.我这个服务器使用的是FileZilla.配置好以后自己先用FTP软件连接试试能不能正常使用.
flag = ftpGet("ftp://demo.evanelf.com/test.lua.E3", "/var/touchelf/scripts/test.lua.E3", "test", "123456")
if flag then
notifyMessage("下载成功")
else
notifyMessage("下载失败")
end
不详细解释了.看开发文档吧
下载失败的基本上99%都是服务器设置问题.
2.使用socket的FTP下载
local ftp = require("socket.ftp")
ftp.TIMEOUT = 10 --设置超时时间
flag,e = ftp.get("ftp://test:123456@demo.evanelf.com/test.lua.E3;type=i")
if flag then
local file = io.open("/var/touchelf/scripts/test.lua.E3","w")
file:write(flag)
file:close()
else
notifyMessage(e);
end
socket.ftp的另一种写法.可以设置更多的参数,实现更多的功能,例如获取列表,删除文件等等
local ftp = require("socket.ftp")
local ltn12 = require("ltn12")
local back = {}
r, e = ftp.get{
url = "//demo.evanelf.com",
user = "test",
password = "123456",
type = "i",
command = "RETR",
argument = "test.lua.E3",
sink = ltn12.sink.table(back)
}
if r then
local file = io.open("/var/touchelf/scripts/test.lua.E3","w")
file:write(table.concat(back))
file:close()
else
notifyMessage(e,5000);
end
更多使用说明可以查看 http://w3.impa.br/~diego/software/luasocket/ftp.html
https://github.com/diegonehab/luasocket.git
3.使用HTTP方法下载文件,首先保证服务器有web服务,即使用网址可直接显示或下载文件.
明文内容可直接使用触摸自带的httpGet下载,例如txt.lua等访问web地址可直接显示内容的文件
r = httpGet("http://demo.evanelf.com/FileUpload/game/test.lua");
if r then
local file = io.open("/var/touchelf/scripts/test.lua","w")
file:write(r)
file:close()
end
如果是2进制文件,例如加密脚本需要使用socket的http方法下载
local http = require("socket.http")
http.TIMEOUT = 30 --设置超时时间
r = http.request("http://demo.evanelf.com/FileUpload/game/test.lua.E3");
if r then
local file = io.open("/var/touchelf/scripts/test.lua.E3","w")
file:write(r)
file:close()
end
php 运行脚本的可以搞么!
使用socket的http方法下载,文件md5会不会变
ftp的 22端口的sftp协议可以下载吗?
@pars 应该是不行。没试过
苹果手机上怎么安装呢
交了智商税