Python Twisted中的FTP文件服务器

Python Twisted中的FTP文件服务器,python,macos,ftp,twisted,Python,Macos,Ftp,Twisted,我目前正在尝试建立一个FTP服务器并运行,但我甚至无法让Mac OS X上的Finder连接 查找器错误: There was a problem connecting to the server “192.168.1.67”. Check the server name or IP address, and then try again. If you continue to have problems, contact your system administrator. 标准输出 pyt

我目前正在尝试建立一个FTP服务器并运行,但我甚至无法让Mac OS X上的Finder连接

查找器错误:

There was a problem connecting to the server “192.168.1.67”.
Check the server name or IP address, and then try again. If you continue to have problems, contact your system administrator.
标准输出

python FTPtoEMAIL.py 
2013-01-01 17:16:01-0500 [-] Log opened.
2013-01-01 17:16:01-0500 [-] FTPFactory starting on 7654
2013-01-01 17:16:01-0500 [-] Starting factory <twisted.protocols.ftp.FTPFactory instance at 0x6aff80>
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),0,192.168.1.67] Setting up avatar
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),0,192.168.1.67] apple
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),1,192.168.1.67] Setting up avatar
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),1,192.168.1.67] apple
^C2013-01-01 17:16:35-0500 [-] Received SIGINT, shutting down.
2013-01-01 17:16:35-0500 [twisted.protocols.ftp.FTPFactory] (TCP Port 7654 Closed)
2013-01-01 17:16:35-0500 [twisted.protocols.ftp.FTPFactory] Stopping factory <twisted.protocols.ftp.FTPFactory instance at 0x6aff80>
2013-01-01 17:16:35-0500 [-] Main loop terminated.
apple:orange
pass.dat

python FTPtoEMAIL.py 
2013-01-01 17:16:01-0500 [-] Log opened.
2013-01-01 17:16:01-0500 [-] FTPFactory starting on 7654
2013-01-01 17:16:01-0500 [-] Starting factory <twisted.protocols.ftp.FTPFactory instance at 0x6aff80>
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),0,192.168.1.67] Setting up avatar
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),0,192.168.1.67] apple
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),1,192.168.1.67] Setting up avatar
2013-01-01 17:16:26-0500 [FTP (ProtocolWrapper),1,192.168.1.67] apple
^C2013-01-01 17:16:35-0500 [-] Received SIGINT, shutting down.
2013-01-01 17:16:35-0500 [twisted.protocols.ftp.FTPFactory] (TCP Port 7654 Closed)
2013-01-01 17:16:35-0500 [twisted.protocols.ftp.FTPFactory] Stopping factory <twisted.protocols.ftp.FTPFactory instance at 0x6aff80>
2013-01-01 17:16:35-0500 [-] Main loop terminated.
apple:orange

基于twistd正在工作,并且您能够使用Finder连接到FTP服务器,这看起来是一个OSX问题,而不是Twisted问题

发生写入问题的原因是通过Finder建立的FTP连接是只读的(根据此)


假设您正在使用上面的pass.dat文件,您的计算机的标准登录将无法工作,因为该文件中没有列出它!您需要使用pass.dat文件中指定的登录名,并且可以访问ftp服务器的根目录。

底部的注释表示将反应堆指向端口21。有没有什么原因让你把矛头指向7654呢?同样,Twisted代码示例中的FTP服务器示例比这个小得多。也许你应该从这里开始,看看是否有任何额外的代码导致了这个问题。是的,注释来自twisted示例,我更改了它,因为你不能在端口21上侦听,或者这也是一个难题。我从twisted的示例开始,它没有起作用。您是否能够运行
twistd-nftp-r'/'
并连接到
ftp://127.0.0.1:2121
通过Finder(用户名为“匿名”,密码为空)?我怀疑你的用户(苹果)没有访问ftp服务器根目录的权限,这是导致错误的原因。我可以以来宾身份匿名访问该目录,但我无法写入该目录,我尝试了我的计算机用户名和密码,但ftp服务器不允许我使用iThanks寻求帮助,遗憾的是,我需要一个具有写支持的服务器,遗憾的是,唯一一个得到广泛支持的是WebDav,它在twisted库中不受支持,但感谢您的帮助:)我不确定该项目的状态,但quick google for twisted+WebDav揭示了该网站: