暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Python执行FTP上传文件出现socket.err 10060错误

原创 Rune_DB 2022-06-06
2324

最近对端系统运维联系过来,说一个FTP接口突然接收不到我们上传的数据文件了,让查查原因。

先整理下现状:

  • 环境和任务执行原理:数据接口部署在一台windowserver2008的服务器上,采用定时任务计划调用批处理的方式,内部使用python(2.6)代码调用ORACLE存储过程生成数据文件,然后上载文件到对端服务器。
  • 检查任务计划历史:批处理结果显示完成,没有任何异常日志。
  • 检查上载原文件目录,发现源端文件正常生成,存储过程执行正常,因此推测是上传文件到对端的过程中出现了问题。

测试:手动调用python程序,报错:scocket.error:【10060】

套字节错误?说白了就是网络不通连接超时,感觉莫名其妙怎么会有网络问题呢?问了下度娘,没找到符合这个情况的解决方案。

几经周转好不容易找到一个情况类似的“哥们儿”,结果楼下就回了三行:

1.连接类型

2.FTP服务器故障

3.端口

想想也不太可能是对端服务器有问题,Ping没有丢包,telnet正常。还别说这三行让我重新回想了下最近有没有什么安全检修。

于是咨询了下安全部门,才知道最近因为安全原因,关闭了这边的FTP端口。

考虑到这边FTP采用的被动模式,源端关闭了端口,对端端口正常,那么很简单,加段代码修改为主动模式就好了,对端建立端口,源端主动连接。

代码如下:

ftp.set_pasv(False) #False:主动模式 True:被动模式

重新修改编译后,文件传输恢复。

因为网上没得到满意的回复结果,特此整理留个记录。

最后修改时间:2024-08-12 17:12:35
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论