这是我的代码
import re
import netmiko
import sys
import json
def get_results(ip, login, password):
device = {
'device_type': 'cisco_asa',
'ip': ip,
'username': login,
'password': password,
'secret': password,
'global_delay_factor': 2
}
try:
net_connect = netmiko.ConnectHandler(**device)
except Exception as e:
print("Ошибка при подключении:", e)
return
try:
output = net_connect.send_command_timing("show aaa-server NPS_MFA_TEST", strip_prompt=False)
print(output)
except Exception as e:
print("Ошибка при выполнении команды:", e)
net_connect.disconnect()
return
result = {}
match_group = re.search(r"Server Group:\s+(\S+)", output)
if match_group:
result["Server Group"] = match_group.group(1)
match_address = re.search(r"Server Address:\s+(\S+)", output)
if match_address:
result["Server Address"] = match_address.group(1)
return json.dumps(result)
if __name__ == "__main__":
if len(sys.argv) == 4:
ip = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
result = get_results(ip, username, password)
print(result)
else:
print("Неверное количество аргументов")
但结果是发送短路输出(需要按 Enter 或 Space 按钮)。我怎样才能跳过它?
我尝试在设备对象中添加
'global_delay_factor': 2
并尝试将 strip_prompt=False
作为 send_command
参数。但这没有用
登录 Cisco 设备后,您需要发送命令
terminal length 0
作为第一个命令。
我不确定,尝试在终端中按 q 可能可以访问