【发布时间】:2017-10-15 20:09:35
【问题描述】:
我需要运行一个简单的 HTTP 服务器,它只记录传入的请求,什么也不记录。
它应该记录整个请求的内容。像标题、cookie、正文......
我只需要可以在几分钟内运行并且可以运行的简单解决方案。
实现语言并不重要。
类似于 Charles 但 HTTP 服务器而不是代理
【问题讨论】:
标签: http logging http-headers httpserver charles-proxy
我需要运行一个简单的 HTTP 服务器,它只记录传入的请求,什么也不记录。
它应该记录整个请求的内容。像标题、cookie、正文......
我只需要可以在几分钟内运行并且可以运行的简单解决方案。
实现语言并不重要。
类似于 Charles 但 HTTP 服务器而不是代理
【问题讨论】:
标签: http logging http-headers httpserver charles-proxy
对于一些超级简单的替代方案,有 netcat:
$ nc -l -p 8080
还有python的内置:
$ python -m SimpleHTTPServer 8080
(在最新版本的 python 中,3?)现在是:
$ python -m http.server 8080
Netcat 不会提供响应,因此您可能不会走得太远,SimpleHTTPServer 不会显示 POST 请求(至少)。但有时我发现两者都很有用。
【讨论】:
nc -l -p <port> 给出了一个错误,而 nc -l <port> 工作但只让 nc 监听单个请求。 nc -k -l <port> 让它超过第一个请求。
如果您正在寻找可以记录所有请求信息的在线 HTTP 服务器,您可以使用RequestBin。 (2020 年更新:很遗憾,RequestBin 现在离线了。)
如果您需要制作自己的 HTTP 日志服务器,Node.js + Express 是一个不错的选择。制作起来非常简单快捷:
npm install express-generator -g
myapp/app.js并在app.use('/', index);行之前插入以下代码块:DEBUG=myapp:* npm start 并启动网络应用程序。发送到主机 localhost:3000 的所有 HTTP 请求都将与其标头、cookie 和正文一起记录。【讨论】: