2016-03-04 171 views
1

我是VirtualBox API的新手,我試圖通過本地運行的VBoxWebSrv.exe遠程啓動虛擬機(用於測試)。 我到目前爲止已經做到了這一點:使用Python VirtualBox API遠程啓動虛擬機

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位。 有什麼辦法可以解決這個問題嗎?

非常感謝您的任何想法,我真的被困在這裏。

回答

0

正如我所想的那樣,SDK 5.0.14的Web服務被竊聽,無法正常使用。此問題已在今天發佈的SDK 5.0.16中解決。