在 Python Paramiko 中检测连接关闭事件
Detect connection close event in Python Paramiko
如何检测连接何时因任何原因关闭?这个有什么event/callback吗?
以下是我连接到 SFTP 的部分工作代码:
def connect(self, Host, Username, Password, Keyfilepath, Keyfiletype, Port=22):
self.transport = paramiko.Transport((Host, Port))
self.transport.connect(None, Username, Password, self.key)
如果我在连接状态下手动关闭 WiFi,我会收到一条日志
Socket exception: An existing connection was forcibly closed by the remote host (10054)
然而,这是 Paramiko
库本身的错误。有没有办法可以通过我的代码来控制它?谢谢
一些背景:当用户登录时,我会将他们连接到 SFTP 并将标签更新为 “Server Connected”。但是,当连接由于任何原因断开时,我无法将标签更新为 "Disconnected".
定期调用 Transport.is_active()
检查连接是否仍然有效。
Ntb,通过使用低级 Transport
class,您可能会绕过主机密钥检查,这是一个安全漏洞。你最好用高级的SSHClient
API.
如何检测连接何时因任何原因关闭?这个有什么event/callback吗? 以下是我连接到 SFTP 的部分工作代码:
def connect(self, Host, Username, Password, Keyfilepath, Keyfiletype, Port=22):
self.transport = paramiko.Transport((Host, Port))
self.transport.connect(None, Username, Password, self.key)
如果我在连接状态下手动关闭 WiFi,我会收到一条日志
Socket exception: An existing connection was forcibly closed by the remote host (10054)
然而,这是 Paramiko
库本身的错误。有没有办法可以通过我的代码来控制它?谢谢
一些背景:当用户登录时,我会将他们连接到 SFTP 并将标签更新为 “Server Connected”。但是,当连接由于任何原因断开时,我无法将标签更新为 "Disconnected".
定期调用 Transport.is_active()
检查连接是否仍然有效。
Ntb,通过使用低级 Transport
class,您可能会绕过主机密钥检查,这是一个安全漏洞。你最好用高级的SSHClient
API.