今天我发现自己需要一个简单的HTTP服务器来记录/打印出它所知道的关于请求的所有内容,并回复一些虚拟回复(用于调试)。令人惊讶的是,我找不到任何读取工具 - 我错过了什么吗?
Python的SimpleHTTPServer模块看起来很有前景,也许有一种非常快速的方法来使用它转储整个请求?
我需要它在本地运行。
答案 0 :(得分:7)
通过Google上的一些快速搜索,看起来最简单的方法就是升级SimpleHttpServer并记录您想要查看的内容。
这个looks非常容易
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
返回您想要的任何'虚拟'回复。
答案 1 :(得分:5)
ruby -r sinatra -e "get('/') { puts params.inspect }"
Ruby简单灵活,允许您快速模拟任何回复。
答案 2 :(得分:0)
Turq可以很好地达到这种目的。它是用Python编写的,使用简单却又广泛,灵活,甚至具有GUI。 Turq的开发人员对此进行了描述:
Turq是可以在基于Python的脚本中编写脚本的小型HTTP服务器 语言。使用它来设置模拟HTTP资源,以响应 状态,标题和所选内容。 Turq专为快速而设计 交互式测试,但也可以在自动化方案中使用。
注意:尽管Turq非常有用,但它的作者已停止对其进行维护,建议使用mitmproxy; mitmproxy也有Python API。
答案 3 :(得分:-1)
您好看看github上的ReturnToSender,它是在本地运行的模拟http服务器。没有网络托管。使用您的模拟数据响应http客户端并显示客户端请求详细信息。
https://github.com/stephenhealey86/ReturnToSender
支持GET,POST,PUT,PATCH,DELETE请求类型以及JSON,TEXT,JavaScript,XML,HTML内容类型。