我正在尝试使用 Lua Socket 进行 http get:
local client = socket.connect('warm-harbor-2019.herokuapp.com',80)
if client then
    client:send("GET /get_tweets HTTP/1.0\r\n\r\n")
      s, status, partial = client:receive(1024)
    end
end
我希望s是一条推文,因为我所做的 get 返回一条推文。但我得到:
http/1.1 404 object not found
我需要用有限的字符串(对我来说逗号)或数组中的字符分隔字符串。Lua中如何用逗号分隔o。
我检查了这些链接,但我不明白:
http://lua-users.org/wiki/SplitJoin
http://lua-users.org/wiki/PatternsTutorial
objPropo = {}
str = "Maria Mercedez,,Jose,Sofia"
i = 1
for token in string.gmatch(str, ",") do
    objPropo[i] = token
    i = i + 1
end
native.showAlert("Names", objPropo[1], {"OK"})
native.showAlert("Names", objPropo[2], {"OK"})  <-- Is this error? Because is nil? or what happend?
native.showAlert("Names", objPropo[3], {"OK"})
native.showAlert("Names", objPropo[4], {"OK"})
它可以显示:
Maria Mercedez
如何格式化发送模式?
[其他选择]
如果可能的话?
objPropo = {}
str = "Maria Mercedez,,Jose,Sofia"
i = 1
for token in string.gmatch(str, ",") do
    objPropo[token] = token           <-------- CHECK
    i …我正在尝试在 LUA 中编写一个函数来编辑我的 pastebin 代码。
我可以使用此代码制作 HTTP 帖子:
http.post(string url, string postData [, table headers])
我也可以使用此代码进行 HTTP 获取:
http.get(string url [, table headers])
Pastebin 网站https://pastebin.com/api上提供了有关使用 API 的信息。我不确定,如果这个网站可以帮助我解决我的问题。
有人知道如何填写标题表吗?
这是我试过的程序:
headers = {}
headers["api_dev_key"]= 'myDevKey...'; // your api_developer_key
headers["api_paste_code"]   = 'my edited text'; // your paste text
headers["api_paste_private"] = '0'; // 0=public 1=unlisted 2=private
headers["api_paste_name"] = 'justmyfilename.php'; // name or title of your paste
headers["api_paste_expire_date"] = '10M';
headers["api_paste_format"] = 'php';
headers["api_user_key"] = ''; // if an invalid or expired …我有一个$aet在 lua 中初始化的变量,但我希望我也可以在 nginx 中使用它。
这是我的代码:
location /getIp {
    default_type 'application/json';
    rds_json          on;
    content_by_lua '
        if ngx.var.host:match("(.*).nexus$") ~= nil then
            aet = ngx.var.host:match("(.-)%.")
            $aet = aet;
        end
    ';
    postgres_pass     database;
    postgres_query  "SELECT ip FROM establishment_view WHERE aet = $aet";
    postgres_output rds;
}
它不起作用,因为在查询中它不知道变量 aet :
nginx: [emerg] 未知的“aet”变量
我写了一个正则表达式来匹配下面的字符串类型,当我在正则表达式匹配器中在线检查它时,它按预期工作 -
"['432', '212']"
regex - "(\[)('([^']|'')*'), ('([^']|'')*')(])"
ngx.re.find(string, "\"(\[)('([^']|'')*'), ('([^']|'')*')(])\"", "jo")
当我在 lua 块中使用它来匹配字符串时,它给了我无效的转义序列错误。我转义了双引号,并试图用 \ 转义正则表达式中的特殊字符,但问题仍然存在。任何指针都会有所帮助。谢谢!
这是我的配置:
local rc = require("resty.redis.connector").new({
                connect_timeout = 50,
                read_timeout = 5000,
                keepalive_timeout = 30000
            })
            local redis, err1 = rc:connect({
                url = "redis://127.0.0.1:6379",
            })
            if not redis then
                ngx.say( err1)    
            else
                ngx.say('connection fine')    
            end
            local ok, err = rc:set_keepalive(redis)  
我收到此错误:
[错误] 4044#0:*1068056 尝试在关闭的套接字上发送数据:u:00007F2BABA05D48,c:0000000000000000,ft:0 eof:0,客户端:我的 IP,服务器:,请求:“GET /foo HTTP/1.1 ", 主机: "服务器 IP"
当我禁用 keepalive 设置时,出现此错误:
[错误] 4147#0: *1089971 lua tcp 套接字连接超时,连接到 127.0.0.1:6379 时,
当我注释掉与 rc:set_keepalive 相关的行时,它适用于单个请求并在 100 个请求上崩溃。
在大量请求下连接到 Lua 中的 Redis 的最佳实践是什么?
有谁知道如何对使用 xfuscator 隐藏它的 lua 脚本进行反混淆处理?混淆看起来像这样。如果有人能给我一个关于如何完成这项工作的正确方向的观点,那将会很棒!我没有分享来源,因为我想帮助弄清楚如何对自己进行反混淆,而不想要答案! https://gyazo.com/d2a9a2bcc602d1a1146491158271e3e6
我可以使用 string.gsub(message, " ") 但它只会削减单词。
我在http://lua-users.org/wiki/StringLibraryTutorial 上搜索,但在那里找不到任何解决方案
我怎样才能将这些词保存到变量中?例如我有消息 =“乐趣 1 真正享受”
我希望变量具有
var level = 1
var good = true
var message = "enjoy"
我想将一个字符串相乘并将它们存储到一个变量中,这是我想做的一个例子,但在 Python 中:
a = "A" * 200
在 Lua 5.1 中,...添加了 (vararg operator),替换了arg表。可以轻松创建包含可变数量参数(如 arg)的表,local arg = {...}并且比新的 vararg 运算符具有更多用途。我想这背后一定是有原因的。尽管如此,我还是找不到 vararg 运算符的任何用途