我如何使用LuaSec发送HTTPS请求?

在我的脚本中,我使用 LuaSocket 库发送 XML 代码。以下代码可以正常工作:

local request_body = (XMLHeader..XMLBody);
local response_body = {}

local res, code, response_headers = socket.http.request
 {
  url = "http://blabla.com/v01/Authenticatie.svc";
  method = "POST";
  headers =
 {
  ["Content-Type"] = "application/soap+xml; charset=utf-8";
  ["Content-Length"] = string.len(request_body);
  ["Accept-Encoding"] = "gzip, deflate";
  ["Connection"] = "Keep-Alive";
 };
 source = ltn12.source.string(request_body);
 sink = ltn12.sink.table(response_body);
 }

但现在我想使用带有证书的 HTTPS 协议发送 XML,我知道可以使用 LuaSec,但应如何操作?有人可以告诉我如何修改代码以实现 HTTPS?

点赞
用户614123
用户614123

只需要添加:

local https = require("ssl.https")

并将以下代码替换为:

local res, code, response_headers = https.request
 {
  url = "https://blabla.com/v01/Authenticatie.svc";

请确保已安装 LuaSec:

luarocks --local install luasec OPENSSL_LIBDIR=/usr/lib64/ #CentOS
# 或者
luarocks --local install luasec OPENSSL_LIBDIR=/usr/lib/x86_64-linux-gnu # Ubuntu
2014-06-24 12:15:59