新之助meow

Kratos
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. 未分类
  3. 正文

python 使用ftp transfercmd 传输大文件,在执行voidresp时卡住的问题

2018年2月16日 1172点热度 0人点赞 0条评论

之前照网上抄的例子都没有问题,手欠觉着noop没用,就改了一下把noop删了,结果就卡住了。

#原来的代码片段
    logprint('>>>>>>>>>>>>下载文件 %s ... ...' %localfile)
    blocksize=1024 * 1024
    cmpsize=localfile_size
    ftp.voidcmd('TYPE I')
    conn = ftp.transfercmd('RETR '+remotefile,localfile_size)
    conn.settimeout(60)   #返回socket 设置超时时间
    lwrite=open(localfile,'ab')
    while True:
        data=conn.recv(blocksize)
        if not data:
            break 
        lwrite.write(data)
        cmpsize+=len(data)
        lwrite.flush()
 #       print '\x1b[30D download process:%.2f%%' %(float(cmpsize)/remotefile_size*100),
    lwrite.close()
    ftp.voidcmd('NOOP')    
    ftp.voidresp()    
    conn.close()

参考 https://bugs.python.org/issue25458

说这可能是python 2.7 的一个问题,一定要执行 noop 才能通过 viosresp拿到226 transfer complete传输完成的回应,否则就会卡住。

另外参考 https://yauhsien.wordpress.com/2016/07/26/python-ftplib-%E4%B8%8B%E8%BC%89%E5%A4%A7%E6%AA%94%E6%A1%88%E6%9C%83%E5%8D%A1%E4%BD%8F/

说在收取数据时,增加noop 也可以避免卡住的问题

总之,照例子抄。。。。不要乱改。。。。。

标签: 暂无
最后更新:2018年2月16日

tjccn_wx@hotmail.com

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

归档

  • 2026 年 10 月
  • 2024 年 2 月
  • 2023 年 7 月
  • 2023 年 1 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 6 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 1 月
  • 2020 年 12 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 7 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 2 月
  • 2019 年 10 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 4 月
  • 2019 年 3 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 10 月
  • 2018 年 6 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 2 月
  • 2018 年 1 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 10 月
  • 2017 年 9 月
  • 2017 年 8 月
  • 2017 年 7 月
  • 2017 年 6 月
  • 2017 年 5 月
  • 2017 年 4 月
  • 2017 年 3 月
  • 2017 年 2 月
  • 2017 年 1 月
  • 2016 年 12 月
  • 2016 年 11 月
  • 2016 年 10 月
  • 2016 年 9 月
  • 2016 年 8 月
  • 2016 年 7 月
  • 2016 年 6 月
  • 2016 年 5 月
  • 2016 年 4 月
  • 2016 年 3 月
  • 2015 年 12 月
  • 2015 年 8 月

分类

  • android
  • mysql
  • nethunter
  • proxmark
  • 未分类

COPYRIGHT © 2026 新之助meow. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang