Форум » [x]Harbour » FTP как получить полную дату и время файла ? » Ответить

FTP как получить полную дату и время файла ?

MIKHAIL: ::list()[pre] -rw-r--r-- 1 login_1 hosting 17408 Dec 4 09:34 reestr.xls -rw-r--r-- 1 login_1 hosting 24064 Dec 12 2018 rko.xls -rw-r--r-- 1 login_1 hosting 18432 Apr 12 2019 sale.xls -rw-r--r-- 1 login_1 hosting 17408 Apr 19 15:38 schet.xls -rw-r--r-- 1 login_1 hosting 16384 May 11 16:40 sms.xls[/pre] ::listFiles() [pre] reestr.xls 17408 / / 09:34 -rw-r--r-- 1 login_1 hosting rko.xls 24064 12/12/18 -rw-r--r-- 1 login_1 hosting sale.xls 18432 12/04/19 -rw-r--r-- 1 login_1 hosting schet.xls 17408 19/04/21 15:38 -rw-r--r-- 1 login_1 hosting sms.xls 16384 11/05/21 16:40 -rw-r--r-- 1 login_1 hosting [/pre] TotalCommander[pre] reestr.xls 17 408 04.12.2020 09:34 -644 rko.xls 24 064 12.12.2018 17:42 -644 sale.xls 18 432 12.04.2019 21:40 -644 schet.xls 17 408 19.04.2021 15:38 -644 sms.xls 16 384 11.05.2021 16:40 -644[/pre] ftp [pre] -rw-r--r-- 1 login_10 hosting 17408 Dec 4 09:34 reestr.xls -rw-r--r-- 1 login_10 hosting 24064 Dec 12 2018 rko.xls -rw-r--r-- 1 login_10 hosting 18432 Apr 12 2019 sale.xls -rw-r--r-- 1 login_10 hosting 17408 Apr 19 15:38 schet.xls -rw-r--r-- 1 login_10 hosting 16384 May 11 16:40 sms.xls [/pre] Как это делает TotalCommander ?

Ответов - 45, стр: 1 2 3 All

Dima: Петр пишет: и так не работает ? Нет. Сервер выдал 500 Unknown command Программа "долго" висела на UserCommand и после получил ftp:UserCommand( "MLSD", lPasv, @lReadPort, @lGetReply ) // .T. lReadPort // NIL lGetReply // .F. Под HBCURL все работает нормально

Dima: Петр пишет: curl_easy_setopt( curl, HB_CURLOPT_FTP_FILEMETHOD, 3 ) я что то разницы не заметил между CURLFTPMETHOD_SINGLECWD и CURLFTPMETHOD_MULTICWD (по умолчанию) в плане скорости Петр пишет: curl_easy_setopt( curl, HB_CURLOPT_USERAGENT, "curl/7.75.0" ) для FTP не работает и не должно Петр пишет: curl_easy_setopt( curl, HB_CURLOPT_FTP_SKIP_PASV_IP, .T. ) с этой штукой на мобильном киевстаре , глюков еще больше , кроме 28 ошибки , еще и ошибка передачи , при PASV естественно

Dima: Dima пишет: Нет. Сервер выдал 500 Unknown command Программа "долго" висела на UserCommand и после получил ftp:UserCommand( "MLSD", lPasv, @lReadPort, @lGetReply ) // .T. Вот так заработало oftp:UserCommand("MLSD"+CRLF ................ Но думает очень долго (пробовал и с другими командами)


Петр: Dima пишет: oftp:UserCommand("MLSD"+CRLF в UserCommand забыли добавить ::inetSendAll( ::SocketCon, hb_defaultValue( cCommand, "" ) + ::cCRLF ) А может и специально так.

Dima: Петр Петр пишет: Метод UserCommand автоматом не добавляет перевод строки ( + ::cCRLF ). Оказывается это мы еще поняли в 2016 году в теме http://clipper.borda.ru/?1-4-0-00001145-000-0-0-1471685166

Dima: MIKHAIL Разобрался с HBCURL и MLSD ?

Dima: Dima пишет: ftp:UserCommand( "MLSD", lPasv, @lReadPort, @lGetReply ) Вот так надо что бы не "висела" команда и тогда всё работает шустро lGetReply :=.F. oftp:UserCommand( "MLSD"+CRLF, lPasv, @lReadPort, @lGetReply )

MIKHAIL: Dima пишет: Разобрался с HBCURL и MLSD ? нет пока HBCURL пока не брался, не понял как импортировать библиотеку, да и переделывать много не хочется, только timestamp файла и нужно получать... пробовал по разному usercommand, начала работать, но в переменные по ссылке всегда возвращает либо ничего либо логическое значение, но как то странно что в ::cReply иногда выскакивает timestamp иногда что то другое, нет стабильности и долго обрабатывает MDTM, в общем еще разбираюсь...

Dima: MIKHAIL пишет: начала работать, но в переменные по ссылке всегда возвращает либо ничего либо логическое значение Какой FTP сервер ? PS Могу проверить от себя если надо под HBTIP и HBCURL Если что данные для входа в личку кидай Обещаю ни чего не ломать и не строить

MIKHAIL: Dima пишет: Какой FTP сервер ? в логах Server (Sun Solaris 9i), написал в их техподдержку , что то у них там случилось, целый день ковыряют, как сделают проверю, если не получиться скину учетку на тест в личку

Dima: MIKHAIL ok

MIKHAIL: Dima MDTM заработало все норм, я не знал что смотреть ответ в ::cReply нужно ... MLSD так и не заработала через ::usercommand(), что то там не то, скопировал класс, написал свой метод, тогда заработал. Но как я понял, он работает по входящему порту в активном режиме, а за NAT работать скорее всего не будет, так что только MDTM можно использовать А как можно добавить метод к существующему классу что бы не копировать его полностью ? __objAddMethod можно добавить функцию, но в ней не доступны переменные класса

Dima: MIKHAIL Попробуй посмотреть https://www.kresin.ru/hrbfaq_3.html На странице ищи __objAddMethod

MIKHAIL: Dima пишет: На странице ищи __objAddMethod так я об этом и писал, там можно добавить функцию, но в самой функции переменных класса не видно, либо я что то не так делаю....

Dima: а пробни через CURL.EXE curl.exe -u LOGIN:PASS -s ftp://твойFTP -X MLSD PS Curl тут https://curl.se/download.html

SergKis: MIKHAIL Local o := QSelf() должно помочь или просто сделайте свой класс наследуя от TIPClientFTP, т.е. CLASS myFTP TIPClientFTP INHERIT TIPClientFTP DATA ... METHOD New( oUrl, xTrace, oCredentials ) INLINE ( ::Super:New( oUrl, xTrace, oCredentials ), Self ) METHOD myMethod() CLASS myFTP END CLASS METHOD myMethod() CLASS myFTP ... RETURN Self

SergKis: CLASS myFTP TIPClientFTP INHERIT TIPClientFTP это лишнее, не убрал Дима, что то у меня опять пропала возможность править пост

Dima: SergKis пишет: Дима, что то у меня опять пропала возможность править пост я ни чего не трогал в твоей учётке. Могу модераторские полномочия предложить только :)

SergKis: Dima пишет Могу модераторские полномочия предложить только :) Может и не надо, со временем стало туговато, захожу не так часто. Как говориться "и так сойдет"

Dima: SergKis пишет: Как говориться "и так сойдет" Глянул учетку , у тебя пол не определён , выбрано нет , может в этом дело ?



полная версия страницы