?? 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 + -