📄 ribcl.py.in
字号:
#!@PYTHON@import sysimport socketfrom httplib import *from time import sleepargv = sys.argvtry: host = argv[1].split('.')[0]+'-rm' cmd = argv[2]except IndexError: print "Not enough arguments" sys.exit(1)login = [ '<RIBCL VERSION="1.2">', '<LOGIN USER_LOGIN="Administrator" PASSWORD="********">' ]logout = [ '</LOGIN>', '</RIBCL>' ]status = [ '<SERVER_INFO MODE="read">', '<GET_HOST_POWER_STATUS/>', '</SERVER_INFO>' ]reset = [ '<SERVER_INFO MODE="write">', '<RESET_SERVER/>', '</SERVER_INFO>' ]off = [ '<SERVER_INFO MODE = "write">', '<SET_HOST_POWER HOST_POWER = "N"/>', '</SERVER_INFO>' ]on = [ '<SERVER_INFO MODE = "write">', '<SET_HOST_POWER HOST_POWER = "Y"/>', '</SERVER_INFO>' ]todo = { 'reset':reset, 'on':on, 'off':off, 'status':status }acmds=[]try: if cmd == 'reset' and host.startswith('gfxcl'): acmds.append(login + todo['off'] + logout) acmds.append(login + todo['on'] + logout) else: acmds.append(login + todo[cmd] + logout)except KeyError: print "Invalid command: "+ cmd sys.exit(1)try: for cmds in acmds: c=HTTPSConnection(host) c.send('<?xml version="1.0"?>\r\n') c.sock.recv(1024) for line in cmds: c.send(line+'\r\n') c.sock.recv(1024) c.close() sleep(1)except socket.gaierror, msg: print msg sys.exit(1)except socket.sslerror, msg: print msg sys.exit(1)except socket.error, msg: print msg sys.exit(1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -