今天我发现自己需要一个简单的 HTTP 服务器来记录/打印它所知道的有关请求的所有内容,并以一些虚拟回复进行响应(用于调试)。令人惊讶的是,我找不到任何可以阅读的工具 - 我错过了什么吗?
Python 的 SimpleHTTPServer 模块看起来很有前途,也许有一种非常快速的方法来使用它转储整个请求?
我需要它在本地运行。
从谷歌上的一些快速搜索来看,最简单的方法似乎是子类 SimpleHttpServer 并记录您想查看的任何内容。
这看起来非常简单
class ServerHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
logging.error(self.headers)
# whatever else you would like to log here
SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
Handler = ServerHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
此外,您还可以让
do_GET
和 do_POST
返回您想要的任何“虚拟”回复。
ruby -r sinatra -e "get('/') { puts params.inspect }"
Ruby 简单且灵活,它允许您快速模拟任何回复。
您好,看看 github 上的 ReturnToSender,它是一个在本地运行的模拟 http 服务器。不是网络托管。使用您的模拟数据响应 http 客户端并显示客户端请求详细信息。
https://github.com/stephenhealey86/ReturnToSender
支持 GET、POST、PUT、PATCH、DELETE 请求类型和 JSON、TEXT、JavaScript、XML、HTML 内容类型。
如果你安装了nodejs:
npx dummy-http-server
这将打开一个简单的 http 服务器,该服务器侦听端口 8080 并将请求打印到 STDOUT。
如果您需要高级选项:
npx dummy-http-server --help