2011-01-26 34 views
5

我在Windows 7Python的FTP到iPad

我不能用一个简单的Python脚本连接到我的iPad:

HOST = '192.168.1.122' 
try: 
    f = ftplib.FTP(HOST) 
except (socket.error, socket.gaierror), e:  
    MessageBox.Show('ERROR: cannot reach "%s"' % HOST) 
    return   
try: 
    f.connect(HOST,2121) 
    f.login() 
except ftplib.error_perm: 
    MessageBox.Show('ERROR: cannot login anonymously') 
    f.quit() 
    return 

的错误,我已经是“的getaddrinfo返回一个空列表”和“无法达到...”的信息...解决不了...

我试图通过iPad上的几个程序FTP没有成功。如果我通过DOS的FTP或使用FTP软件,它的作品。我试过我的PC上的另一台FTP服务器,它工作。我不得不使用端口2121,所以不能改变它。

任何线索或经验?

+2

您是否有在iPad上运行的FTP服务器? – 2011-01-26 14:44:31

+0

我会假设,所以考虑到他说它使用FTP软件工作:`如果我通过DOS框FTP或使用FTP软件,它的工作原理` – Jimmy 2011-01-26 15:21:37

回答

4

你应该什么之前阅读文档:

类ftplib.FTP([主持人[,用户[, passwd文件[,ACCT [,超时]]]]])返回的一个 新实例FTP类。当主机被给出 时,方法调用 连接(主机)被做。当给出用户 时,另外方法调用 登录(用户,密码,acct)被制作为 (其中passwd和acct在未给出时默认为空字符串 )。 可选超时参数指定以秒为单位的 超时时间,用于阻止 操作,如连接尝试 (如果未指定,将使用全局 默认超时设置)。

所以,如果你做F = ftplib.FTP(HOST),它失败,因为它会尝试连接到标准端口(21),而不是2121 你应该得到FTPLIB后来使用f的一个实例。连接(HOST,2121)。

http://docs.python.org/library/ftplib.html