我还在开始使用Lua,并希望使用它编写一个(相对)简单的代理。
这就是我想要达到的目的:
我意识到这不应该是微不足道的,但是我在使用LuaSockets或Copas进行设置时遇到了很多麻烦 - 我如何收到整个请求?继续接收,直到我扫描\ r \ n \ r \ n?那么如何提取帖子数据?和身体?或者接受“下载”文件?我读到了关于“下沉”的内容,但不可否认的是,大部分内容并不理解,所以也许我应该阅读更多内容了?
如果它很重要,我正在使用LuaForWindows在Windows机器上工作,而且我仍然是Lua的新手。到目前为止爱它,桌子简直太棒了:))
我发现了lua-http,但似乎已经合并到了Xavante(我找不到lua 5.1和LuaForWindows的任何版本),不确定它是否让我的生活更轻松?
提前感谢任何提示,指针,库/来源我应该关注等等:)
答案 0 :(得分:0)
不像你想象的那么容易。对代理的请求和对服务器的请求是不同的。在rfc2616中,您可以看到,在查询代理时,客户端包含所请求文档的绝对URL,而不是通常的相对文档。
因此,作为代理,您必须解析命令请求,修改它们,查询相应的服务器并返回响应。
解析请求是非常复杂的,因为主体长度取决于各种参数(方法,内容编码等)。
答案 1 :(得分:0)
您可以尝试使用lua-http-parser。