Delphi ile SSL Kullanan Web Sayfasını İndirme

Artık hemen hemen her web sayfası SSL kullanmaya bağladı. Delphi'de web sayfalarından veri çekmek için kullandığımız Indy bileşenlerinde SSL kullanmak için ek DLL dosyaları ve bir sürü ayar gerekiyor. Bu işi yapmanın daha kolay bir yolunu ararken karşıma StackOverflow'daki şu kod çıktı.

Kodu yazan kişi bir değişkeni hatalı yazmış, o yüzden düzeltilmiş halini aşağıya ekliyorum. Uses'a WinInet'i eklemeyi unutmayın.

function Download(URL, User, Pass, FileName: string): Boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  F: File;
begin
   Result := False;
   hSession := InternetOpen('', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0) ;

   // Establish the secure connection
   InternetConnect (
     hSession,
     PChar(URL),
     INTERNET_DEFAULT_HTTPS_PORT,
     PChar(User),
     PChar(Pass),
     INTERNET_SERVICE_HTTP,
     0,
     0
   );

  try
    hURL := InternetOpenURL(hSession, PChar(URL), nil, 0, 0, 0) ;
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
      try
        repeat
          InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen) ;
          BlockWrite(f, Buffer, BufferLen)
        until BufferLen = 0;
      finally
        CloseFile(f) ;
        Result := True;
      end;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end;
end;

 

31.07.2018 17:20:06


Etiketler: delphi fonksiyonları

Yorumlar

Bu yazıya henüz yorum yapılmamış.

Yazı hakkında yorum yapmak için, buraya tıklayın.

Kategoriler :

Arşiv :

Etiketler :

Bağlantılar :