GWan& Lua HTTP客户端

时间:2013-07-17 18:50:33

标签: http lua client g-wan

我正在运行Lua HTTP客户端,请求导致错误400:

[root]# ./luatest
<!DOCTYPE HTML><html><head><title>400 Bad Request</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link href="/imgs/errors.css" rel="stylesheet" type="text/css"></head>
<body><h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.</p></body></html> 400     table: 0x1ba1f70        HTTP/1.1 400 Bad Request

[root]# cat luatest
#!/usr/bin/lua
local http = require("socket.http")
print(http.request("http://localhost/"))

[root]# curl "http://localhost"
<html> hi there </html> [root]# 

G-WAN正确响应curl客户端请求,但是当从lua请求同一文档时它就死了。是否有一些我们遗漏的东西,或者这不起作用?

2 个答案:

答案 0 :(得分:0)

也许您可以查看客户端HTTP请求,并将其转储到那里。如果你没有看到它有什么问题,我们将有机会告诉你。

自2009年以来,G-WAN了解所有Web浏览器和许多客户端(如cURL,wget等)的HTTP请求,因此此客户端问题可能与简单的HTTP语法性能问题有关(比如错过HTTP / 1.1的“主机”标题)。


由于评论和问题中存在明显的混淆,这里有一些澄清:

  • Lua和curl客户端将HTTP请求发送到G-WAN,即HTTP服务器
  • 使用G-WAN -tgwan/trace文件
  • 中记录客户端请求
  • 比较gwan/trace中记录的curl和lua HTTP请求,看看Lua做错了什么。

该程序可以让您找到您的方案中缺少的内容。

最后一点,G-WAN没有“死”:相反,它回复了HTTP 400错误(“格式错误的请求”)。

答案 1 :(得分:0)

需要修改LUA请求以包含正确的标头。这样做的开发人员似乎从地球上掉下来了。如果我从他那里得到代码,我会更新。