Страница 1 из 1

LibCurl: Загрузка из FTP раздела с удалением

Добавлено: 31 Октябрь 2023, 7:59
Игорь Столяров
ДД !

Прозевал в каком именно обновлении LibCurl (1-2 года) появились проблемы загрузки с FTP сервера.

Код: Выделить всё

  xRes = ThisCurl.ReadFile('ftp://ftp.server.com/99/myfile.txt')
  If xRes = CURLE_OK
     xRes = ThisCurl.DeleteFile('ftp://ftp.server.com','/99/myfile.txt')
     Message(xRes)   ! 78 = Remote file not found
  end
1. На самом деле файл прекрасно удаляется ... (поэтому и не обратили сразу внимание)

2. В методе Curl.DeleteFile() вторым параметром может быть указано всё что угодно - будет
удалён файл в папке загруженный в Curl.ReadFile() с выдачей ложной ошибки.

3. Если выполнить ThisCurl.DeleteFile('ftp://ftp.server.com','/99/myfile.txt') отдельно, то всё
работает штатно и без проблем.

Т.е. такое ощущение, что первый метод создаёт какие-то внутренние настройки, и для второго
они уже не перенастраиваются ... Может быть нужно перед DeleteFile() выполнять какой-то сброс ?
Но раньше точно в такой последовательности не было проблем - я бы это сразу увидел.

Заранее спасибо !

LibCurl: Загрузка из FTP раздела с удалением

Добавлено: 31 Октябрь 2023, 12:22
Дед Пахом
Надо логи смотреть.

LibCurl: Загрузка из FTP раздела с удалением

Добавлено: 31 Октябрь 2023, 12:48
Дед Пахом
Вроде бы нашёл причину, обновил до v1.62.

LibCurl: Загрузка из FTP раздела с удалением

Добавлено: 31 Октябрь 2023, 23:27
Игорь Столяров
Всё отлично заработало - большое спасибо ! :)

LibCurl: Загрузка из FTP раздела с удалением

Добавлено: 01 Ноябрь 2023, 0:26
Дед Пахом
Хорошо.
Объясню, что случилось, чтобы самому не забыть.
Раньше url устанавливался опцией CURLOPT_URL (строка), с недавних пор рекомендовано перейти на опцию CURLOPT_CURLU (объект URL api). Обе опции работают, но новая имеет более высокий приоритет. ReadFile использует новую, а остальные методы FTP-класса по недосмотру старую.