【发布时间】:2016-06-17 13:53:41
【问题描述】:
我是 VirtualBox API 的新手,我正在尝试通过本地运行的 VBoxWebSrv.exe 远程启动虚拟机(用于测试)。 到目前为止,我已经这样做了:
from vboxapi import *
params = {'url' : 'http://localhost:18083',
'user' : 'user',
'password' : 'password'
}
webmgr = VirtualBoxManager('WEBSERVICE', params)
vbox = webmgr.getVirtualBox()
machines = vbox.getMachines()
for mach in machines:
session = webmgr.getSessionObject(vbox)
progress = mach.launchVMProcess(session, "gui", "")
但是当涉及到 launchVMProcess 方法时它会崩溃。我收到此错误:
Traceback (most recent call last):
File "C:\Users\user\git\VirtualBox-Manager\VirtualBox_Manager\src\test.py", line 45, in <module>
progress = mach.launchVMProcess(session, "", "")
File "C:\Program Files\Oracle\VirtualBox\sdk\bindings\webservice\python\lib\VirtualBox_wrappers.py", line 1801, in __getattr__
return IUnknown.__getattr__(self, name)
File "C:\Program Files\Oracle\VirtualBox\sdk\bindings\webservice\python\lib\VirtualBox_wrappers.py", line 388, in __getattr__
raise AttributeError
AttributeError
奇怪的是,当我使用 COM(= 没有 VBoxServer.exe)时,它工作得很好。似乎该方法没有为 web 服务实现或缺少对该方法的引用或我不知道。
我使用最新的 SDK (5.0.14) 和 VirtualBox 5.0.14,主机是 Windows 8.1 64 位。 有没有办法解决这个问题?
非常感谢您的任何想法,我真的被困在这里了。
【问题讨论】: