python - 在 Python 2 HTTP 服务器中创建延迟响应
问题描述
我正在 python 2 中创建一个非常简单的 HTTP 服务器进行测试。
我想在不关闭与服务器的连接或先关闭服务器的情况下随机延迟对 GET 请求的回复。
这是我要修改的当前代码:
# Only runs under Python 2
import BaseHTTPServer
import time
from datetime import datetime
class SimpleRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
print "incoming request: " + self.path
self.wfile.write('HTTP-1.0 200 Okay\r\n\r\n')
self.wfile.write(modes(self.path))
def run(server_class = BaseHTTPServer.HTTPServer,
handler_class = SimpleRequestHandler):
server_address = ('', 80)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
def modes(argument):
# returns value based on time of day to simulate data
curr_time = datetime.now()
seconds = int(curr_time.strftime('%S'))
if seconds < 20:
return "reply1"
elif seconds >= 20 and seconds < 40:
return "reply2"
else:
return "reply3"
run ( )
每次收到 GET 时都会添加延迟,例如,第 3 次或第 4 次,但当延迟超时时,将发送格式正确的响应。
谢谢。
解决方案
推荐阅读
- python - numpy.AxisError:轴 1 超出维度 1 数组的范围
- c++ - 将单例模板应用于具有参数化构造函数的类
- vb.net - 如何在 RichTextBox 中使用 UTF-8?
- spotfire - spotfire 使用 over 函数计算列
- python - 无法在 Windows 机器上启动 Python
- apache - 无法访问此站点 - XAMPP 忽略自定义域虚拟主机
- javascript - 将函数返回保存在 const 中是未定义的
- python - pyqtgraph 中的图像由于缩放而被隐藏
- c - 如何使用指针将输入函数中的 2 个 int,1 个浮点变量输入传递给主函数?
- sql - 如何在 CASE STATEMENT (SQL ORACLE) 中使用 Unique 或 Distinct?