Форум сайта python.su
0
Добрый вечер. Прошу помощи, пожалуйста, сил уже нет)
С помощью ftplib на локальный сервер могу загрузить файл, фотография 100кб. А вот пытаюсь загрузить эту же фотографию с домашнего компьютера(не в локальной сети) - не получается!
"TimeoutError: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера“
1) Брандмауэры выключены.
2) передать файл не могу, но смог создать директорию! FTP.mkd(”newDir“) Значит у него есть власть над удаленным фтп! Как же передать файл?
3) фтп - filezilla
4) Конечно же я меняю строку ftp.connect(”тут.имя.домена“, 1313)
import ftplib
from ftplib import FTP
ftp = FTP()
ftp.connect(”localhost“, 1313)
ftp.login(”login“, ”parol“)
ftp.cwd(”test“)
ftp.retrlines('LIST')
# Открываем файл для передачи в бинарном режиме
f = open(”img.jpg“, ”rb“)
# Передаем файл на сервер
send = ftp.storbinary(”STOR “ + ”photo.jpg", f)
# Закрываем FTP соединение
ftp.close
_________________________________________
Если это невозможно, есть ли простые аналоги? Я не сильный программист. Куда копать? urlftp что-то сложен.
Отредактировано Poplalka (Окт. 1, 2016 23:15:56)
Офлайн
857
PoplalkaЧерез обычный telnet попробуй подключиться сначала с домашнего компьютера.
TimeoutError: Попытка установить соединение была безуспешной
Офлайн
0
py.user.nextСпасибо за ответ.
Офлайн
857
PoplalkaКакая ему разница, откуда к нему подключаются? Он одинаково будет работать. Главное, есть соединение или нет.
Есть подозрения, что дело в пассивном режиме
Poplalka
TimeoutError: Попытка установить соединение была безуспешной
PoplalkaНе только. Во-первых, надо соединение установить, а во-вторых, надо использовать программу, которая точно ни под каким пользователем не зайдёт по умолчанию. А это либо ftp какая-нибудь, либо telnet. Так как программы ftp могут различаться на разных компах, а telnet'ы везде одинаковые, то используется telnet, потому что он точно будет делать то, что ты ему скажешь, и не будет делать того, что ты ему не скажешь. Это простая программа для передачи текста, без вникания в него.
Это ведь для того, что бы проверить есть ли соединение?
Отредактировано py.user.next (Окт. 3, 2016 03:39:28)
Офлайн