如何连接返回JSON的Web服务

我是LUA的新手。我已经在LUA文件中编写了以下代码,用于mysql代理的运行。

function read_query(packet)
    if string.byte(packet) == proxy.COM_QUERY then
        local command = string.lower(packet)
        if string.find(command, "select") ~= nil and string.find(string.lower(packet), "from") ~= nil then
            local socket = require('socket')
            local conn, err = socket.connect('localhost', 5050)
            print(conn, err)
            proxy.response.type = proxy.MYSQLD_PACKET_OK
            //proxy.response.resultset 从Web服务(url)获取JSON
            proxy.response.resultset = {
                fields = {
                    { type = proxy.MYSQL_TYPE_INT, name = "id", },
                },
                rows = {
                    { 9001 }
                }
            }
            return proxy.PROXY_SEND_RESULT
        end
    end
end

我想连接到端口5050上的Web服务,该服务返回JSON文件,并将其返回的json保存在proxy.response.resultset中。 另外一个问题,我该如何添加socket模块?我粘贴了以下图像中的文件

socket module files

但是会出现错误:找不到/ socket / core.lua。

点赞
用户1442917
用户1442917
`local socket = require('socket')`

您正在使用 luasocket,它由 Lua (socket.lua) 和二进制 (socket/core.so) 文件组成。您需要设置(如果尚未设置)来指向 .so 文件;类似于以下代码可能会起作用:package.cpath=package.cpath..';./?.so'

2018-03-26 14:39:31