如何在最新版本的LuaJit中发送HTTP请求,什么库现在可以正常工作?

时间:2019-07-08 10:13:00

标签: lua luajit

我需要在LuaJit let userInfo = response.notification.request.content.userInfo print(userInfo["url"]) 中发送HTTP请求。到目前为止,我已经尝试了3个HTTP客户端库,但没有一个起作用。由于安装过程中出现错误,我无法安装最新版本。

我的Lua版本是5.3

是否有确定有效的LuaJit 2.0.5客户端HTTP库?我可以同时安装和使用。


LuaSocket-安装后不起作用:

2.0.5

luasocket 3.0rc1-2 is now installed in /usr (license: MIT)

1 个答案:

答案 0 :(得分:1)

  • LuaSocket在Windows和Linux上均可在5.1、5.2和5.3上运行
  • LuaHTTP适用于5.1、5.2和5.3,但仅支持Linux
  • Luvit特别使用LuaJIT,但您获得了单独的二进制文件

快速的Google搜索也发现了this,但我不知道它是否有效。


LuaSocket存在的问题很奇怪。

您不是在使用Lua 5.3,而是在使用LuaJIT,这在很大程度上是对Lua 5.1的重写;但它正在5.3目录中寻找socket软件包。

这很可能是因为您将LUA_CPATH设置为Lua 5.3包含路径。永远不要在安装了多个Lua系统的系统上使用此方法,因为 all 所有Lua版本都使用该环境变量,甚至在较新的版本中也遮蔽了特定于版本的LUA_CPATH_X_Y变量。 / p>

  1. 找出环境变量LUA_CPATH的确切值
  2. 理想情况下,此变量应未设置。
  3. 如果不是3.(不是),请找出变量的设置位置。常见的可疑对象是:项目配置文件,.bashrc和.profile文件(位于主目录中)。
  4. 修复这些变量。 Lua 5.3还使用了变量LUA_CPATH_5_3,因此,如果您不想破坏事物,可以将其更改为该变量。

快速注释:我没有提到LUA_PATHLUA_PATH_5_3,因为您的问题出在C模块上。但是最有可能的是,这些变量也有相同的问题,因此您也应该对它们遵循相同的步骤。