Уведомления

Группа в Telegram: @pythonsu

#1 Май 8, 2021 04:11:36

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблема с python ftplib

Привет
Решил накорябать свой небольшой ftp-клиент так как у filezilla много недостатков.

 def ftp_connect():
    ftp_connect = ftplib.FTP(config_data_domain, config_data_user, config_data_password)    #коннектимся
    msg = ftp_connect.getwelcome()
    #print (config_data_path)
    ftp_connect.sendcmd('CDUP')
собственно код
на хостинге у меня 2 сайта:
и структура примерно такая
login ——————–
| |
site1 site2
| |
public_html public_html

все коннектится и текущий каталог становится site1/public_html
но мне надо перейти на 2 сайт как то и команда ftp_connect.sendcmd('CDUP')[ почему то не работает она не пишет ошибок но каталог не меняется.
Попытка сменить каталог указав имя вызывает ошибку
550 Failed to change directory

Собсно тут я еще об этом писал https://www.linux.org.ru/forum/web-development/16306351
Подскажите куда копать и как разобраться? Спасибо. Ftplib доселе не использовал.



Офлайн

#2 Май 11, 2021 14:57:13

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проблема с python ftplib

CDUP переходит на уровень вверх, вы уверены что есть куда переходить? Из другого ФТП клиента переходит на уровень вверх из site1/public_html? Меняет ли директорию?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Май 11, 2021 15:00:53)

Офлайн

#3 Май 12, 2021 05:40:22

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблема с python ftplib

PEHDOM
CDUP переходит на уровень вверх, вы уверены что есть куда переходить? Из другого ФТП клиента переходит на уровень вверх из site1/public_html? Меняет ли директорию?
какого другого ФТП-клиента? в файлзилле переходит



Офлайн

#4 Май 12, 2021 10:34:58

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проблема с python ftplib

XoFfiCEr
какого другого ФТП-клиента? в файлзилле переходит
В любом, в той же файлзилле.
А почему вы решили что не переходит?
 import ftplib
config_data_domain = '127.0.0.1'
config_data_user = 'test1'
config_data_password = 'test1'
ftp_connect = ftplib.FTP(config_data_domain, config_data_user, config_data_password) 
print(ftp_connect.sendcmd('CWD /site1/public_htm'))
print(ftp_connect.sendcmd('CDUP'))
print(ftp_connect.sendcmd('CDUP'))
print(ftp_connect.sendcmd('CWD site2'))
ftp_connect.sendcmd('QUIT')
>>> 
250 CWD successful. "/site1/public_htm" is current directory.
200 CDUP successful. "/site1" is current directory.
200 CDUP successful. "/" is current directory.
250 CWD successful. "/site2" is current directory.
>>>
по крайней мере ftplib работает, может у вас проблема с ftp сервером?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Май 12, 2021 10:38:52)

Офлайн

#5 Май 12, 2021 16:35:19

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблема с python ftplib

Потому что по pwd или что там, выдается та же директория.
Я проверял.
При выводе каталогов и файлов аналогично абсолютно.



Офлайн

#6 Май 12, 2021 17:57:42

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проблема с python ftplib

c ftplib тоже все нормально.

 import ftplib
config_data_domain = '127.0.0.1'
config_data_user = 'test1'
config_data_password = 'test1'
ftp_connect = ftplib.FTP(config_data_domain, config_data_user, config_data_password)
print(ftp_connect.sendcmd('CWD /site1/public_htm'))
print(ftp_connect.sendcmd('PWD'))
print(ftp_connect.sendcmd('CDUP'))
print(ftp_connect.sendcmd('PWD'))
print(ftp_connect.sendcmd('CDUP'))
print(ftp_connect.sendcmd('PWD'))
print(ftp_connect.sendcmd('CWD site2'))
print(ftp_connect.sendcmd('PWD'))
ftp_connect.sendcmd('QUIT')
>>>
250 CWD successful. "/site1/public_htm" is current directory.
257 "/site1/public_htm" is current directory.
200 CDUP successful. "/site1" is current directory.
257 "/site1" is current directory.
200 CDUP successful. "/" is current directory.
257 "/" is current directory.
250 CWD successful. "/site2" is current directory.
257 "/site2" is current directory.
>>> 
(000012)12.05.2021 17:54:35 - (not logged in) (127.0.0.1)> USER test1
(000012)12.05.2021 17:54:35 - (not logged in) (127.0.0.1)> 331 Password required for test1
(000012)12.05.2021 17:54:35 - (not logged in) (127.0.0.1)> PASS *****
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 230 Logged on
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> CWD /site1/public_htm
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 250 CWD successful. "/site1/public_htm" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> PWD
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 257 "/site1/public_htm" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> CDUP
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 200 CDUP successful. "/site1" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> PWD
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 257 "/site1" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> CDUP
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 200 CDUP successful. "/" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> PWD
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 257 "/" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> CWD site2
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 250 CWD successful. "/site2" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> PWD
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 257 "/site2" is current directory.
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> QUIT
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> 221 Goodbye
(000012)12.05.2021 17:54:35 - test1 (127.0.0.1)> disconnected.
смотрите логи фтп сервера что там происходит во время ваших запросов, и оттуда уже пляшите. Потому как той информации что вы дали критически недостаточно для диагностики.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Май 12, 2021 18:00:27)

Офлайн

#7 Май 12, 2021 21:54:52

XoFfiCEr
От:
Зарегистрирован: 2011-06-05
Сообщения: 50
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблема с python ftplib

Не работает все равно.
Начнем с pwd:
Пишет: 257 “/” is the current directory
cdup не работает с той же ошибкой в логах ftp ничего такого про ошибки.
Что то про deprecated но это не имеет отношения к делу.
Может это такие настройки хостера?



Офлайн

#8 Май 12, 2021 22:57:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Проблема с python ftplib

XoFfiCEr
все коннектится и текущий каталог становится site1/public_html
но мне надо перейти на 2 сайт как то и команда ftp_connect.sendcmd('CDUP')[ почему то не работает она не пишет ошибок но каталог не меняется.
Сделай тогда в директории
site1/public_html
поддиректорию какую-нибудь.
Затем спустись в неё через cwd. Затем проверь, что получилось спуститься в неё, через pwd. После этого сделай cdup из неё. И после этого проверь, что получилось подняться из неё обратно, через pwd.

Если всё получилось, ищи различия между этой тестовой поддиректорией и той, в которую ты не можешь подняться. А если не получилось, тогда ищи источник проблемы выполнения любой команды cdup.



Отредактировано py.user.next (Май 13, 2021 08:41:04)

Офлайн

#9 Май 13, 2021 00:26:51

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проблема с python ftplib

XoFfiCEr
Пишет: 257 “/” is the current directory
ну так и куда вы собираетесь делать ‘CDUP’ если вы и так в корне?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version