python ftp客户端限制连接数
我在使用Python的ftplib时遇到了一些问题。这个库默认会使用两个连接,一个用来发送命令,另一个用来传输数据。但是我的FTP服务器一次只能接受一个连接。因为我需要传输的文件只有大约1MB,所以在这种情况下,能够中断正在进行的命令的理由就不成立了。
之前我用Windows命令行的FTP客户端完成了同样的工作。所以我可以从Python中调用这个客户端,但我更希望能用Python完全解决这个问题。
有没有办法告诉ftplib,只使用一个连接呢?在FileZilla中,我可以“限制同时连接的最大数量”,理想情况下,我希望能实现类似的功能。
谢谢你的帮助。
1 个回答
0
看起来默认情况下,它使用两个连接(一个用于发送命令,一个用于数据传输?)。
这就是FTP的工作方式。你有一个控制连接(通常是21号端口)用于发送命令,还有一个数据连接用于传输数据、列出文件等,这个数据连接的端口是动态的。
但是我的FTP服务器在任何时候只接受一个连接。
FTP服务器可能对同时的控制连接有数量限制,但它仍然应该接受数据连接。你能不能通过tcpdump、wireshark、日志文件等来展示一下,为什么你认为多个连接会是问题所在?
在FileZilla中,我可以“限制同时连接的最大数量”。
这个设置只针对控制连接的数量。FileZilla这样设置有效吗?因为我怀疑ftplib会打开多个控制连接。