编写一个慢速http服务器来测试客户端上的504错误

问题描述 投票:0回答:1

测试客户端应用程序以查看它如何响应超时,即 504 错误。 我需要一个响应缓慢或根本不响应的服务器,以便引发 504 错误。 我用过: wget httpbin.org/delay/10 效果很好。

但是,我想知道那是什么服务器端工具?并且,是否可以制作一个位于端口(例如 8000)上的简单本地工具来执行相同的操作。

我想知道“python3 -m http.server”中是否有任何内容可以调整以提供这种缓慢的响应。

python client-server
1个回答
0
投票

我想你可以编写自定义服务器并根据需要实现延迟:

from http.server import BaseHTTPRequestHandler, HTTPServer
import time


class MyServer(BaseHTTPRequestHandler):
    def do_GET(self):
        time.sleep(10)
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()
        self.wfile.write(bytes("response", "utf-8"))


if __name__ == "__main__":
    hostName = "localhost"
    serverPort = 8080
    webServer = HTTPServer((hostName, serverPort), MyServer)
    print("Server started http://%s:%s" % (hostName, serverPort))

    try:
        webServer.serve_forever()
    except KeyboardInterrupt:
        pass

    webServer.server_close()
    print("Server stopped.")
© www.soinside.com 2019 - 2024. All rights reserved.