gpt4 book ai didi

python - 使用 pysftp,如何为连接指定超时值?

转载 作者:行者123 更新时间:2023-12-04 13:00:13 25 4
gpt4 key购买 nike

使用 pysftp,我看到了如何在您已经连接后为任何命令设置超时,但我没有看到如何为连接本身设置超时。我觉得我在某处丢失了一些东西。只是为了尝试一下,我尝试添加 timeout=3Connection方法并出错,并尝试使用 cnopts.timeout=3那什么也没做。作为记录,我在 Windows 上使用 Python 3,如果这会影响任何事情的话。

如果有帮助,这里有一些简单的测试代码,您可以进行试验。 (按原样,连接在大约 30 秒后超时。)

import pysftp

print("\n"*25)
cnopts=pysftp.CnOpts()
# - I know this next line is insecure, it's just for this test program.
cnopts.hostkeys = None

print('Connecting...')
# - 8.8.8.8 is Google's public DNS server. It doesn't respond to sftp requests at all,
# - so it's a good test case for how long a connection timeout takes.
with pysftp.Connection('8.8.8.8', username='anonymous', password='password',
cnopts=cnopts) as SFTP:
print("Wait, how did you get this far?")
print("Done.")

最佳答案

pysftp 似乎不允许设置连接超时。
您可以直接使用 Paramiko ( pysftp is just a wrapper around Paramiko )。
Paramiko SSHClient.connect 方法有超时参数。

ssh = paramiko.SSHClient()
ssh.connect(host, username=username, password=password, timeout=timeout)
sftp = ssh.open_sftp()

关于python - 使用 pysftp,如何为连接指定超时值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59062194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com