如何在最新版本的LuaJit中发送HTTP请求,现在实际使用的库是什么?
我需要在LuaJit如何在最新版本的LuaJit中发送HTTP请求,现在实际使用的库是什么?,lua,luajit,Lua,Luajit,我需要在LuaJit2.0.5中发送HTTP请求。到目前为止,我已经尝试了3个HTTP客户机库,但都不起作用。由于安装过程中出错,我无法安装最新版本 我的Lua版本是5.3 LuaJit2.0.5是否有一个客户端HTTP库可以正常工作?一个我可以安装和使用的。 LuaSocket--安装后不工作: luasocket 3.0rc1-2 is now installed in /usr (license: MIT) 及 适用于5.1、5.2和5.3,包括Windows和Linux 适用于5.
2.0.5
中发送HTTP请求。到目前为止,我已经尝试了3个HTTP客户机库,但都不起作用。由于安装过程中出错,我无法安装最新版本
我的Lua版本是5.3
LuaJit2.0.5
是否有一个客户端HTTP库可以正常工作?一个我可以安装和使用的。
LuaSocket--安装后不工作:
luasocket 3.0rc1-2 is now installed in /usr (license: MIT)
及
- 适用于5.1、5.2和5.3,包括Windows和Linux
- 适用于5.1、5.2和5.3,但仅支持Linux
- 专门使用LuaJIT,但会得到一个单独的二进制文件
你和LuaSocket之间的问题很奇怪 你不是在使用Lua5.3,而是在使用LuaJIT,这在很大程度上是对Lua5.1的重写;但是它正在5.3目录中寻找
socket
包
这很可能是因为您已将LUA_CPATH
设置为LUA 5.3 include路径。这不应在安装了多个Lua系统的系统上使用,因为所有Lua版本都使用该环境变量,而且它甚至会在较新版本中隐藏特定于版本的Lua\u CPATH\u X\u Y
变量
LUA\u CPATH
Lua_CPATH_5_3
,因此如果不想破坏东西,可以将其更改为该变量一个简短的提示:我没有提到
LUA\u路径
和LUA\u路径5\u 3
,因为您的问题是C模块;但最有可能的是,这些变量也有同样的问题,因此也应该遵循相同的步骤。我在Lua5.1下使用。这是一个很好的工作方式,但您必须编写自己的请求函数。@csaar我说了-luajit您似乎对lua版本感到困惑。LuaJIT是Lua5.1,而不是Lua5.3。另外,对于HTTP(以及一般的网络),你的操作系统和你的Lua版本一样重要。我想我开始看到你的问题了:你真的不知道Lua版本。LuaJIT=5.1;它不是Lua5.3。您可能在某个地方将LUA\u PATH
变量设置为LUA 5.3路径,而不是您应该使用的LUA\u PATH\u 5\u 3
。在这一点上,我建议打开一个新的问题。您的问题是,LuaJIT在错误的位置1)LuaJIT查找套接字
?2)在安装过程中编译良好?不。问题和已解决的问题3)我会试试。1)是的,事实上。2) 是的,只是不在Windows上2)不,不在
$ luajit
LuaJIT 2.0.5 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/
JIT: ON CMOV SSE2 SSE3 SSE4.1 fold cse dce fwd dse narrow loop abc sink fuse
> a1 = require "socket"
error loading module 'socket.core' from file '/usr/lib/lua/5.3/socket/core.so':
/usr/lib/lua/5.3/socket/core.so: undefined symbol: luaL_setfuncs
stack traceback:
[C]: at 0x5617fff23fb0
[C]: in function 'require'
/usr/share/lua/5.3/socket.lua:12: in main chunk
[C]: in function 'require'
stdin:1: in main chunk
[C]: at 0x5617ffed4c00