我有一个python脚本,可以打印网络设备上的控制台输出,并且可以正常工作,我得到的输出是这样的:Python Console Output
现在,我正尝试使用Flask在Web服务器上运行它,并且工作正常,除了呈现的HTML模板中的输出是一个像这样的字符串:
display mac-address 44FB-5ABC-9788
---------------------------------------------------------------------------
MAC Address VLAN/VSI/BD Learned-From Type
------------------------------------------------------------------------------
44fb-5abc-9788 1579/-/- Eth-Trunk1 amic
------------------------------------------------------------------------------
Total items displayed = 1
我想要的是HTML页面中与python控制台相同的输出,这是我对flask的输出:
@app.route('/result',methods = ['POST', 'GET'])
def result():
if request.method == 'POST':
hw_input = str(request.form.get("hw"))
commandinput = str(request.form.get("command"))
user = 'user'
passv = 'pass'
passg = 'password'
user_prompt = '.*name:'
pass_prompt = '.*assword:'
hw_prompt = '.*>'
hw_connect = 'telnet ' + hw_input
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname='host', username=user, password=passv)
interact = SSHClientInteraction(ssh_client, timeout=10, display=False)
interact.send(hw_connect)
interact.expect(user_prompt)
interact.send(user)
interact.expect(pass_prompt)
interact.send(passg)
interact.expect(hw_prompt)
interact.send(commandinput)
interact.expect(hw_prompt)
output = interact.current_output_clean
return render_template("result.html",result = output)
答案 0 :(得分:0)
非常感谢!!我在result.html中缺少<pre>
标签