First we query the file size from the server and then we download file contents in pieces. Retrieved file contents will be save to disk when they are received completely. The potential problem is we have to send multiple GET requests to the server. I am not sure if some servers (such as megaupload) might limit the number of requests within particular time period.
The zips are < 2MB each, which is way below GitHub's file size limit of 100MB without LFS. And the entire OpenSSL repo is currently < 200MB, which is way below GitHub's repo size limit of 1GB. Each zip does not change over time, so there is only 1 revision of each zip when cloning the repo. And the OpenSSL repo itself is independent of Indy's main repo, so they can be cloned separately as needed. And download traffic of the OpenSSL repo is very light, so bandwidth usage is not really an issue. Thus, LFS is not needed at this time.
Another way is to use UtilMind's freeware component HTTP GET ('This component intended for downloading files/documents/results of CGI scripts from the web using standard Microsoft Windows Internet library (winInet.dll) which also used by Internet Explorer."):
In case if you want download documents from local intranet - just specify file:// prefix in the URL instead of http:// or WinHTTP can grab web contents both in binary and text formats, supports cache of Internet Explorer, can resume broken downloads, read data from password protected directories and supports and automatically supports several proxy authentication schemes (basic, digest, NTLM etc). Also it can be used in ActiveX forms, for example to build Web-based installation programs. Informations Status: With Nag-ScreenSource: On purchase/registrationprice: $17Source price: $27Size: 1 119kB Platforms: C2k6, CB3, CB4, CB5, CB6, D2, D2005, D2006, D3, D4, D5, D6, D7
Sometimes we need a quick and easy way to download a file from the Internet, and these days HTTPS is the way to go.Unfortunately, most tools for Lazarus require OpenSSL (Indy, Synapse, etc), which means you'd have to distribute OpenSSL DLL's with your application, something I'd like to avoid for simple downloads.
Delphi Indy 10 and 9 demos for reference. Contribute to tinydew4/indy-project-demos development by creating an account on GitHub. Indy 10 free download. Delphi ModBusTCP library We are developing a set of Delphi components to communicate with a ModBus PLC over TCP/IP. A very simple E Mail client written in DELPHI / OBJECT PASCAL using INDY 10 & DELPHI XE 2, More or less for training and education purpose. Anyhow you can already read & write emails. /(will upload latest code version soon, trouble with svn and sourceforge) 28-2-2013. 2b1af7f3a8