GWan & Lua HTTP 客户端



我正在运行一个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请求相同的文档时,它就失效了。是我们遗漏了什么,还是这根本不起作用?

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

自2009年以来,G-WAN了解所有Web浏览器和许多客户端(如cURL、wget等)的HTTP请求,因此客户端问题可能与一个琐碎的HTTP语法一致性问题有关(如HTTP/1.1中缺少"主机"标头)


由于评论和问题中存在明显的混淆,以下是一些澄清:

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

这个过程应该可以让你找到你的场景中缺少的东西。

最后一件事,G-WAN并没有"死亡":相反,它会回复一个HTTP400错误("格式错误的请求")。

需要修改LUA请求以包含正确的头。开发商这样做似乎让人失望。如果我从他那里得到代码,就会更新。

相关内容

  • 没有找到相关文章

最新更新