На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> InternetOpenUrl работает с HTTP, но не работает с HTTPS
    Код функции прекрасно работает если ему подсунуть http-ссылку
    ExpandedWrap disabled
      DownloadFile('http://host.test/1.zip', 'C:\1.zip');


    Однако если использовать https-ссылку:

    ExpandedWrap disabled
      DownloadFile('https://host.test/1.zip', 'C:\1.zip');


    то в третьей строчке функции UrlHandle получает значение nil. В описании к InternetOpenUrl говорится что она работает с https. GetLastError даёт ошибку 12157 (The application experienced an internal error loading the SSL libraries.). Какого-то параметра не хватает или чего более?

    В браузере, разумеется работают обе ссылки на файл.

    ExpandedWrap disabled
      function tFormUpdate.DownloadFile(const Url: string; const FileName : string): Boolean;
      var
        NetHandle: HINTERNET;
        UrlHandle: HINTERNET;
        Buffer: array[0..1024] of char;
        BytesRead: cardinal;
        f : File;
      begin
        NetHandle := InternetOpen(PChar(ExtractFileName(Application.ExeName)), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
       
        if Assigned(NetHandle) then begin
          UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD , 0);
       
          if Assigned(UrlHandle) then begin
            AssignFile(f, FileName);
            Rewrite(F, 1);
            FillChar(Buffer, SizeOf(Buffer), 0);
            repeat
              FillChar(Buffer, SizeOf(Buffer), 0);
              InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
              pbUpload.Position := pbUpload.Position + Integer(BytesRead);
              Application.ProcessMessages;
              BlockWrite(f, Buffer, BytesRead);
            until BytesRead = 0;
            InternetCloseHandle(UrlHandle);
            CloseFile(F);
            REsult := true;
          end else begin
            Result := false;
          end;
          InternetCloseHandle(NetHandle);
        end else
          result := false;
      end;
      попробуй libeay32.dll положить в папку с файлом
      "Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
        Цитата ^D^ima @
        попробуй libeay32.dll положить в папку с файлом

        Спасибо, но лежит такой файл. Через TIdHTTP с сайтом нормально обмен идет информацией, видимо придётся на него переделывать и загрузку файлов.

        Оказалось что сервер не настроен на работу с Windows XP + IE8. https://www.ssllabs.com/ssltest/analyze.html показал только для этой пары: Server sent fatal alert: handshake_failure, с остальными браузерами и системами всё в порядке. Открыл IE8 (наверное впервые за 15 лет) и в нём действительно сайт и файлы с него не грузятся.
          Дык. После хартблидов все начали версии ssl наращивать и старые убирать. Учитывая повсеместный переход на https, скоро без сторонних программ с XP вообще никуда не выйдешь
          Codero ergo sum
          // Программирую — значит, существую
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script Execution time: 0,1033 ]   [ 18 queries used ]   [ Generated: 12.11.19, 04:33 GMT ]