Страница 1 из 1
Libcurl ошибка 23
Добавлено: 03 Декабрь 2025, 12:51
harry
Добрый день!
Столкнулся с ошибкой 23 при запросе через Libcurl: "Failed writing received data to disk/application (23)|client returned ERROR on write of 8009 bytes"
При этом другие запросы на этот же хост успешно проходят и тот же запрос через curl.exe с выводом в файл так же проходит.
Результирующий файл занимает 300 Кб. Бывали запросы и на большие размеры и проблем не было, а здесь не понятно, что происходит.
Никто не сталкивался ? Как решается ?
Libcurl ошибка 23
Добавлено: 03 Декабрь 2025, 14:02
Дед Пахом
Какие-то проблемы записи в файл очевидно.
Libcurl ошибка 23
Добавлено: 03 Декабрь 2025, 14:31
harry
Вот, понятно было, что связано с записью в файл ) Еще раз проверил и оказалось в имени файла был "/". Заменил на "_" и все заработало!
Спасибо! Иногда, нужен дополнительный пинок )
Libcurl ошибка 23
Добавлено: 05 Декабрь 2025, 10:45
Губин Игорь
У меня для такого есть стандартная функция filename=correctname(filename), которая проверяет корректность имени и заменяет недопустимые символы на допустимые. Использую перед любым открытием файла с "внешним" именем.
Libcurl ошибка 23
Добавлено: 05 Декабрь 2025, 11:28
gopstop2007
Губин Игорь писал(а): 05 Декабрь 2025, 10:45
У меня для такого есть стандартная функция filename=correctname(filename), которая проверяет корректность имени и заменяет недопустимые символы на допустимые. Использую перед
любым открытием файла с "внешним" именем.
Интересно, если есть возможность, поделитесь. Заранее спасибо. )
Libcurl ошибка 23
Добавлено: 05 Декабрь 2025, 11:42
Губин Игорь
Она в составе класса c некоторой специфической логикой, вот переделанный, но не оптимизированный вариант
Код: Выделить всё
CorrFileName Procedure(InpName)
OutName String(Size(InpName))
I Long
J Long
InpChar String(1)
Code
! Уборка недопустимых символов
J = Len(Clip(InpName))
OutName = ''
Loop I = 1 To J
IF InString(InpName[ I ],'"\/:*?<>|') = 0 Then
OutName[I] = InpName[I]
Else
OutName[I] = '_'
End
End
Return(Clip(Outname))