Python模拟504网关超时错误

时间:2017-01-10 20:15:07

标签: python http-status-code-504

我正在尝试模拟协议错误504网关超时。这是我的服务器代码。我想在add()方法中返回504错误。

from SimpleXMLRPCServer import SimpleXMLRPCServer

def add(x,y):
    return x+y

# A simple server with simple arithmetic functions
server = SimpleXMLRPCServer(("localhost", 8000))
print "Listening on port 8000..."
server.register_multicall_functions()
server.register_function(add, 'add')
server.serve_forever()

提前感谢您的时间。

1 个答案:

答案 0 :(得分:1)

以下是使用Flask模拟504错误的方法:

from flask import Flask, abort

app = Flask(__name__)


@app.route("/")
def fake_gateway_timeout_error():
    abort(504)


if __name__ == "__main__":
    app.run(port=8000, debug=True)

如果您使用浏览器试用http://127.0.0.1:8000/,则会获得:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>504 Gateway Timeout</title>
<h1>Gateway Timeout</h1>
<p>The connection to an upstream server timed out.</p>

退出状态= 504。

当然,如果您想要一个不同的消息(文本而不是HTML),您可以尝试:

@app.route("/")
def fake_gateway_timeout_error():
    return b'504 Gateway Timeout', 504