如何在python中处理交互式API

Rip*_*ley 6 python libvirt

我处于这样一种情况,我需要将一些文本传递给API生成的提示(对于API而言,这是一个非常奇怪的行为,这是我第一次碰到这个),如下所示:

kvm_cli = libvirt.open("qemu+ssh://han@10.0.10.8/system")
Run Code Online (Sandbox Code Playgroud)

然后一个提示出现询问ssh密码(password for 10.0.10.8 is:),我必须手动输入它,以便继续前进并产生kvm_cli我需要的对象.

我尝试使用该pexpect模块来处理这个问题,但它是用于OS命令行而不是API.

通过使用ssh认证文件也可以解决这个问题,但在我们的场景中它不是一种有利的认证方法.

由于我们对'open'方法的包装不是交互式的,我们不能要求用户输入密码,你们有什么想法我怎么能解决它?

And*_*ini 4

我不是libvirt用户,但我相信问题不在于库,而在于连接方法。您似乎是通过 ssh 连接的,因此您需要验证自己的身份。

我一直在阅读ArchWiki 上的 libvirt 页面,我认为你可以尝试: