如何在Python中处理互动API

6 投票
1 回答
1847 浏览
提问于 2025-04-16 11:33

我遇到了一个情况,需要把一些文本传递给一个由API生成的提示(对于API来说,这种行为似乎有点奇怪,这是我第一次碰到这种情况),就像下面这样:

kvm_cli = libvirt.open("qemu+ssh://han@10.0.10.8/system")

然后会出现一个提示,要求输入ssh密码(10.0.10.8的密码是:),我必须手动在这里输入密码才能继续,并得到我需要的kvm_cli对象。

我尝试使用pexpect模块来处理这个问题,但它是针对操作系统命令行的,而不是API。

也可以通过使用ssh认证文件来解决这个问题,但在我们的情况下,这种认证方式并不是很理想。

因为我们对'open'方法的封装不是交互式的,所以我们不能让用户输入密码,你们有什么想法可以解决这个问题吗?

1 个回答

4

我不是libvirt的用户,但我觉得问题不在这个库本身,而是在连接的方法上。你似乎是通过ssh连接的,所以你需要进行身份验证。

我在看ArchWiki上的libvirt页面,我觉得你可以试试:

撰写回答