【发布时间】:2014-11-26 19:23:44
【问题描述】:
我是 Lua 的新手,有人能解释一下错误吗?
我正在尝试使用:
local jid_bare = require "util.jid".bare;
local http = require "socket.http";
local json_encode = require "util.json";
local mime = require("mime")
当代码执行时,我会收到以下警告,然后是堆栈跟踪:
Attempt to read a non-existent global 'PROXY'
stack traceback:
/usr/share/lua/5.1/socket/http.lua:189: in function 'adjusturi'
/usr/share/lua/5.1/socket/http.lua:247: in function 'adjustrequest'
/usr/share/lua/5.1/socket/http.lua:295: in function 'trequest'
/usr/share/lua/5.1/socket/http.lua:345: in function </usr/share/lua/5.1/socket/http.lua:331>
... and so on
我没有使用任何代理,我该如何解决?
【问题讨论】:
-
我认为这是韵律锁定全局变量。您是否有理由尝试使用 luasocket 的 http 模块而不是韵律 http 的东西?该错误还来自需要代码还是来自其他代码?
-
我使用 luasockets 是因为我需要向外部 API 服务器发送一些数据的 POST。我真的很抱歉,但我不明白第二个问题。我正在尝试制作模块以将一些数据转发到外部 API,它似乎正在工作,但我在日志中收到此警告。
-
LuaSocket rc1 中有 bug。它已经在master中修复了。尝试将 http.lua 替换为新的。
-
我实际上修复了那个错误 :) github.com/diegonehab/luasocket/commit/… Prosody 开发人员应该更新他们的 LuaSocket。与此同时,
rawset解决方法有效。 -
实际上还没有发布带有该修复的版本,请参阅github.com/diegonehab/luasocket/issues/110