问题标签 [luasec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Lua for windows https 错误:“%1 不是有效的 Win32 应用程序”
我有一个关于 Lua 和 https 的问题。我正在为支持 Lua 的路由器开发一些软件。不好的是这个路由器不支持调试。所以我一直在寻找 Lua 的 IDE。
我在 Win 7 64 位操作系统上使用 Lua 开发工具和 LuaForWindows。到目前为止,一切都按原样进行。但现在我必须通过 https 调用一些 url。路由器本身有一个包 ssl.lua,你可以使用这个包和require ("ssl.https")
语句。但我想用 Lua 开发工具调试它。我正在寻找与 Windows 兼容的软件包,并找到了“ Luasec ”项目。
正如这个线程“ Lua with the Freebase API ”中提到的那样;我已经下载了 Luasec。
我已将ssl.lua
和 ssl 文件夹放入我的 lua 安装中,我已将其放入 lua 安装ssl.dll
中的 clibs 文件夹中。
为了测试,我只在我的 Lua 文件中执行了一个 require ("ssl.https"),但它崩溃了。它说:
我也在 Win 7 32 位电脑上对其进行了测试,但它会因此崩溃:
有人可以帮我完成这项工作吗?
https - 我如何使用 LuaSec 在 HTTPS 中发送
在我的脚本中,我使用 LuaSocket 库来发送 XML 代码。这适用于以下代码:
但现在我将使用带有证书的协议 HTTPS 发送 XML。我知道我可以使用 LuaSec 但如何使用?有人可以告诉我,如何将代码修改为 HTTPS 的工作代码?
lua - Luasec - 使用 SMTP 通过 gmail 发送电子邮件
我尝试使用 luasec 连接到我的 gmail 帐户并通过 SMTP 发送电子邮件,虽然过了一段时间我能够允许不安全的应用程序连接,但我想了解如何通过 gmail 实现安全连接。
我使用了我在这里找到的以下代码,其中套接字连接在连接到 gmail 之前由 ssl 包装,但谷歌仍然说连接不安全。
我什至创建了一个自签名证书并将其用作 ssl 包装中的变量,但 gmail 仍然将连接标识为不安全。我们需要更改协议还是 luasec 库需要更新?
在那张纸条上,我也没有无法通过 hotmail/outlook.com 发送电子邮件
https - Lua - HTTPS / tlsv1 警报内部错误
我正在尝试使用 Lua与Cleverbot API进行交互。我有一个密钥和一个用户名,所以我用 Postman 进行了测试,它运行良好。然后我尝试对 Lua 做同样的事情,但我遇到了一个奇怪的错误。
这是代码:
但是,当我调用它时,这就是这 4 个打印显示的内容:
我尝试使用 HTTP 进行连接,但这就是发生的情况:
response
总是空的。请问,我做错了什么?谢谢!
https - 使用 Lua 获取 HTTPS 页面内容
我正在尝试从我的 lua 代码访问网页的内容。以下代码适用于非 HTTPS 页面
但是在 HTTPS 页面上,我收到以下错误。
您的浏览器发送了此服务器无法理解的请求。
原因:您对启用 SSL 的服务器端口使用纯 HTTP。
请改用 HTTPS 方案访问此 URL。
现在我做了我的研究,有些人建议使用 Luasec,但无论我尝试了多少,我都无法让它工作。此外,Luasec 是一个比我正在寻找的更复杂的库。我试图获取的页面仅包含一个 json 对象,如下所示:
https - 为什么 Web 服务器会回复 301 和请求的确切位置?
我正在尝试使用带有 luasec 的 lua 通过 https 从 Web 服务器检索页面。对于大多数页面,我的脚本按预期工作,但如果资源包含特殊字符(如,'é),我将被发送到带有 301 响应的循环中。
让这段代码片段说明我的困境(为保护无辜者而编辑了实际的服务器详细信息):
这导致了自相矛盾的
HTTP/1.1 301 Moved Permanently - GET was for "https://www.example.com/S%C3%A9ance"
headers are { ["content-type"]="text/html; charset=UTF-8";["set-cookie"]="PHPSESSID=e80oo5dkouh8gh0ruit7mj28t6; path=/";["content-length"]="0";["connection"]="close";["date"]="Wed, 15 Mar 2017 19:31:24 GMT";["location"]="S%C3%A9ance";}
body is ""
equal
HTTP/1.1 301 Moved Permanently - GET was for "https://www.example.com/S%C3%A9ance"
如何使用 lua 和尽可能少的附加依赖项来检索难以捉摸的页面?
https - 如何使用 https 为 Luasoap 设置超时
我正在开发一个 sdk 来连接到一个肥皂服务器。(在 https 下)
我使用 LuaSoap 来做到这一点,它的工作方式与 xml 请求一样,但现在我需要能够配置超时(我在在线支付行业,它非常重要),但我不知道如何在 LuaSoap 中做到这一点。
为了能够启用 https 请求,我按照 LuaSoap 文档的说明使用此代码
从这一点开始,我不知道该做什么或在哪里设置超时。
Tnx 为您提供帮助。
PD。
LuaSoap 使用 LuaSec 发送请求。
lua - Luasec Luasocket https.request 与用户代理和返回正文
我想使用 LuaSec 使用自定义用户代理创建 https.request。我试过这里描述的方法:
https://github.com/brunoos/luasec/wiki/LuaSec-0.4#httpsrequesturl---body
但我不知道如何将 http 标头传递给此函数,同时避免将响应正文设置为数字 1,如下所述:
如果url是一个table,该函数返回相同的结果,除了响应的主体被替换为值1。
如果我将请求更改为
我得到了响应正文,但是我不能再设置用户代理了。
谢谢你的帮助!
c++ - lua 5.3.5 + luasocket 3.0-rc1 + luasec 0.8:带有多个 luaopen_xxx_xxx 导出函数名的 WIN32 DLL
我在 Windows 7 64 位计算机上使用 Embarcadero C++Builder 10.1 32 位。我正在使用 Embarcadero IDE 的 CB10.1 32 位免费版本编译所有内容。我已将 lua 5.3.5 编译为 dll。然后我将 lua.c 编译成 DOS 可执行文件 lua.exe(使用 lua dll),它似乎运行正常。我将 luasocket 3.0rc1 编译为 2 个 dll(套接字和 mime)。
luasocket 脚本(ltn12.lua、mbox.lua、mime.lua 和 socket.lua)放置在“lua”文件夹中。其余的 luasocket 脚本('ftp.lua'、'headers.lua'、'http.lua'、'smtp.lua'、'tp.lua' 和 'url.lua')放在 'socket 文件夹中。'socket.dll' 重命名为 'core.dll' 并放置在 'socket' 文件夹中。'mime.dll' 被重命名为 'core.dll' 并放置在 'mime' 文件夹中。
我使用已编译的 lua.c + dll 从 DOS 提示符运行 lua。我可以正确地发出 http/ftp/smtp 请求。lua 似乎能够正确找到所有 luasocket core.dll 和 *.lua 脚本。
但是当我请求一个使用 https 的网页时,当 lua 尝试加载“https.lua”时,会出现模块未找到错误。
所以我正在尝试编译和安装 luaSec 0.8 和 OpenSSL 1.0.2s。
我想将 luaSec 编译为 WIN32 dll。我能够做到这一点。我根据需要使用“options.lua”创建了一个新的“options.h”。使用 DLL 依赖程序(Dependency Walker 2.2),我从 dll 中看到了四个导出函数:
dll 被重命名为 core.dll 并放置在“ssl”文件夹中。来自 luaSec 发行版的“https.lua”被放置在“ssl”文件夹中,“ssl.lua”被放置在“lua”文件夹中。
然后:
我的 lua 脚本需要 luasocket:
luasocket(在 http.lua 中)需要 luaSec:
然后 luaSec(在 https.lua 中)需要:
然后 luaSec(在 ssl.lua 中)需要:
'ssl.core' 的第一个要求有效。'ssl.context' 的第二个要求因“未找到模块 'ssl.context'”而失败。
如果我将 luaSec 编译成四个 dll(core.dll、context.dll、x509.dll 和 config.dll),使得每个 dll 只有一个导出函数并且该函数名与 require 语句匹配,那么 https 请求就可以工作。
我不清楚 lua 如何在 luaopen_ssl_x509、luaopen_ssl_context 和 luaopen_ssl_config 的“core.dll”中查看。也许 lua require() 函数只是不支持每个 dll 一个以上的导出函数。
我在任何地方都找不到这方面的任何指导。
lua - luasec 在 5.1 和 5.2 中失败,但在 5.3 中正常
我正在通过 LuaRocks 3.3.1 和 OpenSSL 1.1.1g(通过 MacPorts)安装 LuaSec 0.9。
我用luarocks install OPENSSL_DIR=/opt/local luasec
Lua 5.1、5.2 和 5.3 的编译/安装成功
但是,当我尝试使用它时,会出现错误,如下所示:
- 路亚 5.1
dlopen(/usr/local/lib/lua/5.1/ssl.so, 2): Symbol not found: _luaL_checkversion_
- 路亚 5.2
dlopen(/usr/local/lib/lua/5.2/ssl.so, 6): Symbol not found: _lua_rotate
- 路亚 5.3
- 成功