Бытует мнение, что для скачивания файла из сети Интернет (особенно с узлов на https) в проектах IDE Lazarus нужно обязательно использовать какие-то внешние библиотеки. Это далеко не так.
Пост про скачивание файлов с использованием внешних библиотек.
В изкоробочный состав среды разработки входят модули opensslsockets (для https предполагается наличие файлов libeay32.dll и ssleay32.dll) и fphttpclient (документация), с помощью которых можно спокойно скачивать файлы по прямой ссылке.
Сведения и размещение модулей:


Например, вот логическая функция скачивания файла:
uses ..., windows, opensslsockets, fphttpclient, wininet, ...;
function GetFile(url,filename:string):boolean;
var
download: TFPHTTPClient;
contypes: DWORD;
status: boolean;
begin
contypes:=INTERNET_CONNECTION_MODEM
+ INTERNET_CONNECTION_LAN
+ INTERNET_CONNECTION_PROXY;
status:=InternetGetConnectedState(@contypes, 0);
if status=True then
try
download:=TFPHTTPClient.Create(Nil);
download.Get(url,filename);
download.Free;
result:=True;
except result:=False;
end
else result:=False;
end;
Прежде чем ломиться по заданной ссылке, функция GetFile проверяет наличие соединения с сетью Интернет. Разумеется, что это всё будет работать только в оконной операционной системе из-за привязки к Windows API, а конкретно к функции InternetGetConnectedState.
Пример использования GetFile:
uses ..., Dialogs, ...;
ShowMessage(BooltoStr(GetFile('https://site/file.format','file.format'), True));
Настоятельно рекомендую подобным методом скачивать только маленькие файлы или вызывать данную функцию в отдельном потоке.
При отсутствии библиотек SSL предлагаю взглянуть на этот модуль.