GPT答: |
7i24.cn
|
以下是一个简单的示例代码,用于探测服务器状态并在前端页面展示。
```python
# 导入必要的库
import subprocess
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
# 执行ping命令来检测服务器状态
result = subprocess.run(['ping', '-c', '4', 'example.com'], capture_output=True)
# 解析ping命令输出结果,获取丢包率和平均延迟时间
output = result.stdout.decode()
loss_rate_line = [line for line in output.split('\n') if 'packet loss' in line][0]
delay_line = [line for line in output.split('\n') if 'avg' in line][0]
loss_rate = float(loss_rate_line.split(',')[2].split('%')[0])
delay_time = float(delay_line.split('/')[4])
# 渲染模板,并将结果传递给前端页面展示
return render_template('index.html', loss_rate=loss_rate, delay_time=delay_time)
if __name__ == '__main__':
app.run(debug=True)
```
在上述代码中,我们使用了Flask框架来创建一个简单的Web应用。当用户访问根路径时(`/`),会执行ping命令来检测服务器状态。然后解析ping命令输出结果,提取丢包率和平均延迟时间。最后将这些数据传递给前端页面进行展示。
接下来需要创建一个名为 `index.html` 的模板文件,在该文件中可以使用模板引擎来展示服务器状态数据。
```html
<!DOCTYPE html>
<html>
<head>
<title>服务器状态</title>
</head>
<body>
<h1>服务器状态</h1>
<p>丢包率: {{ loss_rate }}%</p>
<p>平均延迟时间: {{ delay_time }}ms</p>
</body>
</html>
```
在上述模板文件中,我们使用了双花括号 `{{ ... }}` 来插入变量,这些变量会在渲染页面时被实际的值替换。
|