我正在尝试模拟协议错误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()


预先感谢您的宝贵时间。

最佳答案

这是使用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

09-05 08:55