无法写入Twisted FTP服务器

时间:2013-08-20 15:37:47

标签: python ftp twisted

我目前正在使用单行Twisted FTP服务器在机器之间来回传输文件:

twistd -n ftp

适用于从服务器下载文件。但是当我尝试使用:

写入服务器时
with open('testFile.bmp', 'rb') as f:
    ftp.storbinary('STOR ' + 'testFile.bmp', f)
with open('surrogate.py', 'rb') as f:
    ftp.storbinary('STOR ' + 'surrogateCode.py', f)

我收到错误:

Traceback (most recent call last):
  File "client.py", line 13, in <module>
    ftp.storbinary('STOR ' + 'testFile.bmp', f)
  File "/usr/lib/python2.7/ftplib.py", line 461, in storbinary
    conn = self.transfercmd(cmd, rest)
  File "/usr/lib/python2.7/ftplib.py", line 368, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "/usr/lib/python2.7/ftplib.py", line 331, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "/usr/lib/python2.7/ftplib.py", line 244, in sendcmd
    return self.getresp()
  File "/usr/lib/python2.7/ftplib.py", line 219, in getresp
    raise error_perm, resp
ftplib.error_perm: 550 Requested action not taken: internal server error

我尝试使用WinSCP FTP客户端并收到此错误:

Copying files to remote side failed.
Requested action not taken: internal server error

我不确定我写错了或是否错误地调用了服务器。

1 个答案:

答案 0 :(得分:2)

您的代码看起来没问题,并且根据您对问题的描述(在WinSCP和扭曲的库中遇到它)我会猜测问题出在服务器端。

使用http://en.wikipedia.org/wiki/List_of_FTP_server_return_codes作为参考

错误550和错误ftplib.error_perm会暗示您的用户可能没有对该位置的写入权限