Python FTP для iPad - PullRequest
       7

Python FTP для iPad

5 голосов
/ 26 января 2011

Я на Windows 7.

Я не могу подключиться к своему iPad с помощью простого скрипта Python:

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 возвращает пустой список» и сообщение «не удается достичь ...» ... Не удается решить эту проблему ...

Я попытался FTP с несколькими программами на iPad безуспешно. Если я FTP через окно DOS или с помощью программного обеспечения FTP это работает. Я также попробовал другой FTP-сервер на моем ПК, и он работает.

Я вынужден использовать порт 2121, поэтому не могу его изменить.

Есть подсказка или опыт?

1 Ответ

4 голосов
/ 26 января 2011

Вы должны читать документы прежде всего:

class ftplib.FTP ([host [, user [, passwd [, acct [, timeout]]]]]]) Возвращать новый экземплярКласс FTPКогда хост указан, вызывается метод connect (хост).Когда пользователю дается, дополнительно выполняется вызов метода login (user, passwd, acct) (где passwd и acct по умолчанию равны пустой строке, если не задано).Необязательный параметр timeout указывает время ожидания в секундах для операций блокировки, таких как попытка подключения (если не указано, будет использоваться глобальная настройка времени ожидания по умолчанию).

Итак, если вы выполните f = ftplib.FTP (HOST) не удается, потому что он пытается подключиться к стандартному порту (21), а не 2121. Вы должны получить экземпляр ftplib, а затем использовать f.connect (HOST, 2121).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...