我正在尝试使用Python的ftplib传输文件。

def ftps_put_file(host, user, password, ftp_file_path, processed_file):

try:

context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH, cafile='C:\\PATH\\TO\\SECURE.crt')

with FTP_TLS(host, user=user, passwd=password, context=context, timeout=10) as connection, open(processed_file, 'rb') as read_file:

connection.set_debuglevel(2)

connection.prot_p()

connection.cwd(ftp_file_path)

connection.storbinary(f"STOR {processed_file.name}", read_file)

except Exception as e:

print('Error occured in transporter.ftps_put_file: ' + str(e))

我可以在文件传输期间连接到FTP主机,没有任何问题。 连接超时开始并关闭连接,然后该连接的日志显示为“ 425数据通道由于不满足最低带宽要求而超时”。 我使用了其他FTP客户端(Filezilla,WinSCP),并且两者都可以连接到主机。

连接超时设置为2分钟的日志

*cmd* 'PBSZ 0'

*put* 'PBSZ 0\r\n'

*get* '200 PBSZ command successful.\n'

*resp* '200 PBSZ command successful.'

*cmd* 'PROT P'

*put* 'PROT P\r\n'

*get* '200 PROT command successful.\n'

*resp* '200 PROT command successful.'

*cmd* 'CWD /'

*put* 'CWD /\r\n'

*get* '250 CWD command successful.\n'

*resp* '250 CWD command successful.'

*cmd* 'TYPE I'

*put* 'TYPE I\r\n'

*get* '200 Type set to I.\n'

*resp* '200 Type set to I.'

*cmd* 'PASV'

*put* 'PASV\r\n'

*get* '227 Entering Passive Mode (204,58,62,196,19,199).\n'

*resp* '227 Entering Passive Mode (204,58,62,196,19,199).'

*cmd* 'STOR text.txt'

*put* 'STOR text.txt\r\n'

*get* '125 Data connection already open; Transfer starting.\n'

*resp* '125 Data connection already open; Transfer starting.'

*cmd* 'QUIT'

*put* 'QUIT\r\n'

*get* '425 Data channel timed out due to not meeting the minimum bandwidth requirement.\n'

*resp* '425 Data channel timed out due to not meeting the minimum bandwidth requirement.'

连接超时设置为60秒或更短的日志此序列的顺序似乎很奇怪,因为连接退出后会给出226 Transfer Completed 。 它不应该说明转移完成然后退出吗?

*cmd* 'PBSZ 0'

*put* 'PBSZ 0\r\n'

*get* '200 PBSZ command successful.\n'

*resp* '200 PBSZ command successful.'

*cmd* 'PROT P'

*put* 'PROT P\r\n'

*get* '200 PROT command successful.\n'

*resp* '200 PROT command successful.'

*cmd* 'CWD /'

*put* 'CWD /\r\n'

*get* '250 CWD command successful.\n'

*resp* '250 CWD command successful.'

*cmd* 'TYPE I'

*put* 'TYPE I\r\n'

*get* '200 Type set to I.\n'

*resp* '200 Type set to I.'

*cmd* 'PASV'

*put* 'PASV\r\n'

*get* '227 Entering Passive Mode (204,58,62,196,20,46).\n'

*resp* '227 Entering Passive Mode (204,58,62,196,20,46).'

*cmd* 'STOR text.txt'

*put* 'STOR text.txt\r\n'

*get* '125 Data connection already open; Transfer starting.\n'

*resp* '125 Data connection already open; Transfer starting.'

*cmd* 'QUIT'

*put* 'QUIT\r\n'

*get* '226 Transfer complete.\n'

*resp* '226 Transfer complete.'

python ftp timeout_python - FTP文件传输期间Python数据通道超时 - 堆栈内存溢出相关推荐

  1. python garch模型 forecast_python - 使用GARCH模型进行滚动预测 - 堆栈内存溢出

    我正在尝试对给定股票未来30天的波动性进行滚动预测(即预测时间t + 1,然后在预测t + 2时使用此预测,依此类推...) 我这样做是使用R的rugarch软件包,该软件包是我使用rpy2软件包在P ...

  2. java ftp上传超时_java - Java FTP连接超时 - 堆栈内存溢出

    我正在做一个项目,修改后,稍后会将一些文件上传到FTP服务器...除了弄清楚文件的上传之外,我什么都没有. 我可以成功连接到FTP服务器,但是一旦文件上传,该程序将挂起几分钟,然后显示超时. java ...

  3. java ftp 关闭连接_java - 使用Java Apache FTPClient进行FTP TLS获取“握手时远程主机关闭连接”[重复] - 堆栈内存溢出...

    我在Windows 10 64x上为FTP TLS(org.apache.commons.net.ftp)运行了一个Java(1.8)程序: FTPSClient ftpClient = new FT ...

  4. python音频 降噪_python - 使用pyaudio对音频播放进行降噪 - 堆栈内存溢出

    我正在用Python为Raspberry Pi写一个声码器,这使声音无法识别. 我录制音频并使用回调功能实时播放-它可以工作. 现在,我需要对输入进行去噪,以Numpy数组表示(像大多数教程和SO上的 ...

  5. python dtype o_python - 什么是dtype('O')? - 堆栈内存溢出

    当你在数据帧中看到dtype('O') ,这意味着Pandas字符串. 什么是dtype ? 什么属于pandas或numpy ,或两者,或其他什么? 如果我们检查一下pandas代码: df = p ...

  6. python array太慢_python - gdal ReadAsarray对于vrt非常慢 - 堆栈内存溢出

    迟到了,但这是我根据Rutger的优秀答案写的剧本. 它以某种方式优化了磁贴大小,以便您可以读取最少的块. 这几乎肯定不是你能做的最好的,但我注意到它在处理大小为[1440000 560000]的地理 ...

  7. python协方差矩阵_python - 使用pandas.ewm.cov的EWMA协方差矩阵 - 堆栈内存溢出

    我正在尝试使用函数pandas.ewm.cov()计算一组数据之间的指数加权协方差. 听起来很傻,但我无法访问结果:特别是如何获取最后一个矩阵(在本例中为第999个)作为pandas数据帧(切片等似乎 ...

  8. c语言gcno文件位置,makefile - 具有覆盖率的CMake Ninja将gcno文件放在根二进制目录中 - 堆栈内存溢出...

    我正在使用忍者生成器通过cmake构建一个项目,并使用add_compile_options("$:-g;-O0;-ftest-coverage;-fprofile-arcs;-fno-bu ...

  9. 如何为linux 桌面文件内存,linux - 桌面Linux发行版中.desktop文件的功能是什么? - 堆栈内存溢出...

    我有以下情况:我必须修改一个.desktop文件,该文件位于我正在使用的应用程序的包中. 当我尝试打开文件的内容时,我遇到了一个奇怪的问题. 如果我点击它然后我尝试点击"打开"它给 ...

最新文章

  1. React学习笔记6:React Hooks API总结
  2. angular监听路由跳转
  3. 【面经】蚂蚁金服一二三面的面经总结(内推实习方面)
  4. J2SE基础夯实系列之正则表达式Java
  5. [2018.07.10 T1]叠盒子
  6. win10-ubuntu-软件配置-开机root无密码-风扇转速调节
  7. Base64的Woff2字体信息如何转成成文件
  8. 重构分析21: 被拒绝的遗赠(Refused Bequest)
  9. Could not read JSON: Can not deserialize instance of java.lang.String[] out of VALUE_STRING token
  10. 面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》
  11. 随笔--百度和迅雷的原理
  12. 查询你的手机或者邮箱注册过那些网站
  13. 基于android的ipcamera编程,spydroid-ipcamera-master完整实现源码
  14. DQMIS 2021第五届数据质量管理国际峰会议程
  15. python之季节调整(调用x12a和x13as)
  16. java学习网站http://how2j.cn/
  17. PYTHON:json文件写小型的通讯录数据库
  18. 隐私计算头条周刊(2.13-2.19)
  19. 如何在Arcmap中添加点线面要素
  20. TensorFlow学习笔记之--[compute_gradients和apply_gradients原理浅析]

热门文章

  1. 关于模拟器Hyper-v中的Wp8网络连接问题
  2. 2010年开年的一地鸡毛
  3. Lotus Notes Domino 监控
  4. eclipse maven访问maven私有库
  5. 《快学Scala》勘误
  6. SP2-0734: 未知的命令开头 imp scott/... - 忽略了剩余的行。
  7. hadoop伪分布式(单机版)安装,Linux
  8. python爬取内容乱码_python爬取html中文乱码
  9. SQLplus 和mysql区别_mysql和oracle的区别有哪些
  10. power designer数据流图_鲲云公开课 | 三分钟带你了解数据流架构