Проксирование FTP с помощью ftplib в Python

Я пытаюсь подключиться к ftp-сайту, используя ftp-прокси от Python, используя модуль ftplib.

Когда я делаю это вручную из командной строки, это работает:

$ ftp ftpproxy.services
Connected to ftpproxy.services 
Name (ftpproxy.services:myaccount): myuser
230- user myuser logged in.
230 [002-0024] Specify Remote Destination with: quote site hostname
Remote system type is UNIX.
ftp> quote site mysite.com
220-(    [002-0059] Firewall connected to mysite.com (192.x.x.x).)
220-(220 ProFTPD 1.3.4d Server ready.)
220 [002-0060] login with: user name

При использовании Python 3.5 или Python 2.7.5 он, похоже, не принимает мою команду «цитировать сайт mysite.com»:

>>> ftp = FTP( 'ftpproxy.services', user='myuser' )
>>> ftp.set_debuglevel(1)
>>> ftp.sendcmd("quote site mysite.com")
*cmd* 'quote site mysite.com'
*resp* '200 [002-0046] Specify Remote Destination with: quote site hostname'
'200 [002-0046] Specify Remote Destination with: quote site hostname'

У других, кажется, не было проблем с этим в прошлом, см. link< /а>


person Zoltan Fedor    schedule 08.05.2017    source источник


Ответы (1)


Благодаря этому я понял это.

При использовании ftplib не следует использовать "цитаты" в "цитировать сайт mysite.com", поэтому вместо ftp.sendcmd("quote site mysite.com") просто используйте ftp.sendcmd("site mysite.com") и тогда все заработает.

person Zoltan Fedor    schedule 08.05.2017