我只需从python脚本下载文件,因此代码很简单:
import pysftp
sftp = pysftp.Connection('test_host','test',password='test')
sftp.get('testfile', 'c:\\tmp\\testfile3')
下载将以正常速度启动并继续几秒钟然后停止。没有更多内容被下载,几分钟后服务器关闭连接。 我连接的服务器的管理员出于安全原因没有透露服务器的任何细节,但写信告诉我,在他的结尾,他可以看到如下错误:
发送SFTP错误,同时发生客户端请求太多。客户端已超出服务器的内部缓冲区。
我可以从python代码中做些什么吗?
答案 0 :(得分:4)
这是此处帖子中描述的MAX_REQUEST_SIZE问题的另一种表现形式:Paramiko Fails to download large files >1GB
所以我在 sftp_file.py :
中也改变了MAX_REQUEST_SIZE = 32768
到
MAX_REQUEST_SIZE = 1024
而且神奇地说,这个问题似乎已经解决了。