我正在运行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请求同一文档时它就死了。是否有一些我们遗漏的东西,或者这不起作用?
答案 0 :(得分:0)
也许您可以查看客户端HTTP请求,并将其转储到那里。如果你没有看到它有什么问题,我们将有机会告诉你。
自2009年以来,G-WAN了解所有Web浏览器和许多客户端(如cURL,wget等)的HTTP请求,因此此客户端问题可能与简单的HTTP语法性能问题有关(比如错过HTTP / 1.1的“主机”标题)。
由于评论和问题中存在明显的混淆,这里有一些澄清:
G-WAN -t
在gwan/trace
文件gwan/trace
中记录的curl和lua HTTP请求,看看Lua做错了什么。该程序可以让您找到您的方案中缺少的内容。
最后一点,G-WAN没有“死”:相反,它回复了HTTP 400错误(“格式错误的请求”)。
答案 1 :(得分:0)
需要修改LUA请求以包含正确的标头。这样做的开发人员似乎从地球上掉下来了。如果我从他那里得到代码,我会更新。