Я новичок в VirtualBox API, и я пытаюсь запустить удаленную виртуальную машину с помощью VBoxWebSrv.exe, который работает локально (для тестирования). Я сделал это до сих пор:Запуск виртуальной машины удаленно с помощью API-интерфейса Python VirtualBox
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). Кажется, что метод не реализован для webservice или отсутствует ссылка на метод, или я не знаю.
Я использую новейший SDK (5.0.14) вместе с VirtualBox 5.0.14, а хост-компьютер - это Windows 8.1 64-бит. Есть ли способ решить это?
Большое спасибо за любые идеи, я действительно застрял здесь.