通过CGI输出JSON

2024-05-10 01:12:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试通过CGI执行Python脚本。脚本的执行没有问题。它的输出或显示,我没有得到所需的格式。我正在用Apache2运行这个CGI脚本。你知道吗

/usr/lib/cgi-bin/info.cgi

#!/usr/bin/python
print "content-type: text/html\n\n";
import json
from napalm import get_network_driver
driver = get_network_driver('ios')
hub2 = driver('10.0.0.120', 'admin', 'admin')
hub2.open()

ios_output = hub2.get_facts();
print json.dumps(ios_output, indent=5)
hub2.close()

输出如下所示:

{ "os_version": "Linux Software (ADVENTERPRISEK9-M), Version 15.5(3)S3,  SOFTWARE", "uptime": 10080, "interface_list": [ "Ethernet0/0", "Ethernet0/1", "Ethernet0/2", "Ethernet0/3" ], "vendor": "Cisco", "serial_number": "67109072", "model": "Unknown", "hostname": "R13", "fqdn": "R13.lab1.com" }

但通过CLI运行此脚本后所需的输出应如下所示:

"os_version": "Linux Software (ADVENTERPRISEK9-M), Version 15.5(3)S3, 
 SOFTWARE", 
 "uptime": 10920, 
 "interface_list": [
      "Ethernet0/0", 
      "Ethernet0/1", 
      "Ethernet0/2", 
      "Ethernet0/3"
 ], 
 "vendor": "Cisco", 
 "serial_number": "67109072", 
 "model": "Unknown", 
 "hostname": "R13", 
 "fqdn": "R13.lab1.com"

如何在执行info.cgi时获得所需的输出,有什么建议吗?你知道吗


Tags: importinfo脚本jsongetbinusrdriver