- lua xmlhttpRequest_百度搜索 (baidu.com),结果多基于cocos2dx(cc)。
如:XMLHttpRequest的Lua应用 - 简书 (jianshu.com) - xmlhttpRequest是http的一部分,进而基于socket,包含于socket.http库。
- LuaSocket(LuaSocket: Network support for the Lua language (lunarmodules.github.io)(\LuaSocket: Index to reference manual (lunarmodules.github.io))、lunarmodules/luasocket: Network support for the Lua language (github.com)-LuaSocket project page)
SMTP/HTTP/FTP等客户协议
local socket=require("socket") print(socket._VERSION)--LuaSocket 3.0-rc1
-
LuaSocket: Installation (lunarmodules.github.io)
两类文件夹:系统相关CDIR、无关LDIR。
如,Unix系统中对应'/usr/local/lib/lua/5.x'、'/usr/local/share/lua/5.x';Windows中对应Lua可执行文件的安装位置、此安装位置下的lua文件夹。 - LuaSocket: Index to reference manual (lunarmodules.github.io)
web-browser (client side) & server
URL RFC1738: [http://][<user>[:<password>]@]<host>[:<port>][/<path>]
MIME header, field name(字段名)大小写不敏感、字段顺序无关。simple/generic接口(interface)
LTN12 sink/source/pump
sink-接收下载内容,source-提供请求体(request body)(需在头中指定"content-length"字段)
应检查(返回的)status code(RFC 2616),而非消息体(message body)HTTP请求方法,如GET、POST,及HEAD(只要头,如可从中知晓正文大小)
content-length、content-type - LuaSocket: MIME module (lunarmodules.github.io)
正文中的filter实为converter
ltn12.filter(亦使用filter):filter performs the conversion(ltn12可以组织mime(串起来))
mime.encode/decode/normalize/wrap
normalize: 关于end-of-line marker, canonic form / canonic end-of-line marker,行长度默认76
至少可以:ltn12.sink.table/file、ltn12.source.string/table
其中,table作为队列,此应用下就一个成员,直接table[1]取出即可。因为用table.concat,出现了json解析异常。 - 可使用json库:rxi/json.lua: A lightweight JSON library for Lua (github.com)
- 教程参考:http request examples for luasocket - Technical Ramblings (kracekumar.com)
request: GET/GET with parameters/POST/PATCH/PUT/DELETE - SMTP: LuaSocket: SMTP support (lunarmodules.github.io)
Simple Mail Transfer Protocol,Internet Message Format,Multipart messages - MIME
headers & body
headers: from, to, subject
To, Cc, Bcc(概念)
经测试,preamble,epilogue未在手机邮箱端、163网页端显示。
会显示header中指定的发件人,如果与send方法指定的不同,显示为代发。挺容易使用的。