今天我发现自己需要一个简单的HTTP服务器,它可以记录/打印出关于请求的所有信息,并使用一些虚拟的回复(用于调试)。令人惊讶的是,我找不到任何可用的工具来实现这个目标——我错过了什么吗?
Python的SimpleHTTPServer模块看起来很有前途,也许有一种非常快速的方法可以使用它来转储整个请求?
我需要在本地运行它。
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服务器,而不是Web托管。它可以响应HTTP客户端并显示客户端请求的详细信息以及您的模拟数据。
https://github.com/stephenhealey86/ReturnToSender
支持GET、POST、PUT、PATCH、DELETE请求类型和JSON、TEXT、JavaScript、XML、HTML内容类型。