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

LibCurl: Проблема загрузки файлов с суверенных сервисов

Добавлено: 24 Май 2026, 22:18
Игорь Столяров
Добрый день !

Столкнулся с небольшой проблемой, но её причина оказалась не совсем очевидной.
Максимально простой пример загрузки файла (ссыль реальная):

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

curl  TCurlClass
res   CURLcode
sUrl  CString('https://национальный-каталог.рф/s3/med/5efe96ccb60126736c9a2e4672b30d0b.jpg')
sFile CString('d:\test.jpg')

  Code
  curl.Init()
  curl.SetSSLVersion(CURL_SSLVERSION_DEFAULT)
  curl.SetSSLVerifyHost(False)
  curl.SetSSLVerifyPeer(False)
  
  !res = curl.SetUserAgent('Mozilla/1.22 (compatible; MSIE 10.0; Windows 3.1)') ! <-- ПРОБЛЕМНАЯ СТРОКА
  
  res = curl.ReadFile(json::ToUtf8(sUrl),sFile)
  IF res = CURLE_OK
    MESSAGE('File successfully downloaded.', 'libcurl', ICON:Asterisk)
  ELSIF res = -1 
    MESSAGE('Cannot create local file', 'libcurl', ICON:Exclamation)
  ELSE
    MESSAGE('ReadFile failed: '& curl.StrError(res), 'libcurl', ICON:Exclamation)
  END
  
  Message('res = ' & res & '|' & sUrl & '|' & sFile)  ! Контроль параметров
Если открыть проблемную строку, то файл не загружается. Ну не загружается и пёс с ним - рабочий вопрос.
Но дело в том, что ReadFile() при этом возвращает УСПЕХ (CURLE_OK), а файла нет. И вот это уже проблема. 😢
Проверьте пожалуйста !