Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Pavel.Vavrečka 12. 05. 2017, 08:57:09

Název: Lazarus - stažení souboru
Přispěvatel: Pavel.Vavrečka 12. 05. 2017, 08:57:09
Zdravím.
Jak stahnout nějaky soubor s netu, když ardesa začina  HTTPS?
Název: Re:Lazarus - stažení souboru
Přispěvatel: aaa158 12. 05. 2017, 09:31:56
Uplne tak isto ako http?

Kód: [Vybrat]
wget -O /tmp/index.html https://www.google.com
...
2017-05-12 09:31:11 (282 KB/s) - '/tmp/index.html' saved [11607]
Název: Re:Lazarus - stažení souboru
Přispěvatel: Pavel.Vavrečka 12. 05. 2017, 09:51:33
Si přehled to první slovičko Lazarus  ;)
Název: Re:Lazarus - stažení souboru
Přispěvatel: daks 12. 05. 2017, 11:31:34
Nemám vyzkoušeno, ale pomocí Synapse http://wiki.freepascal.org/Synapse#From_an_HTTP_server (http://wiki.freepascal.org/Synapse#From_an_HTTP_server) by to snad šlo, nebo možná curlpas http://curlpas.sourceforge.net/curlpas (http://curlpas.sourceforge.net/curlpas)
Název: Re:Lazarus - stažení souboru
Přispěvatel: daks 12. 05. 2017, 11:35:56
link na Synapse https je správně http://wiki.freepascal.org/Synapse#From_an_HTTPS_server
Název: Re:Lazarus - stažení souboru
Přispěvatel: bríbl 12. 05. 2017, 11:59:45
pro wget: přidat --no-check-certificate, lze to dát i do preferencí, aby se to furt nemuselo psát (takhle dlouhý 22 znaků parametr vymyslel nějaký sadista)
Název: Re:Lazarus - stažení souboru
Přispěvatel: daks 12. 05. 2017, 13:25:03
Nebo zjednodušeně nějak takto:

Kód: [Vybrat]
uses
  fphttpclient;

procedure Download(AURL: string);
var
   AClient: TFPHTTPClient;
   AStream: TMemoryStream;
   AFileName: string;
begin
  AClient:= TFPHTTPClient.Create(nil);
  AStream:= TMemoryStream.Create;
  try
    AClient.Get(AURL, AStream);
    AFileName:= IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + ExtractFileName(AURL);
    AStream.SaveToFile(AFileName);
  finally
    AClient.Free;
    AStream.Free;
  end;
end;

...

Download('https://i.iinfo.cz/images/214/rust-1-prev.jpg');

předpokladem je, že v systému existuje openssl knihovna
Název: Re:Lazarus - stažení souboru
Přispěvatel: . 13. 05. 2017, 21:42:24
pro wget: ...
LAZARUS
Název: Re:Lazarus - stažení souboru
Přispěvatel: Inkvizitor 14. 05. 2017, 09:51:41
Nebo zjednodušeně nějak takto:

Kód: [Vybrat]
uses
  fphttpclient;

procedure Download(AURL: string);
var
   AClient: TFPHTTPClient;
   AStream: TMemoryStream;
   AFileName: string;
begin
  AClient:= TFPHTTPClient.Create(nil);
  AStream:= TMemoryStream.Create;
  try
    AClient.Get(AURL, AStream);
    AFileName:= IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + ExtractFileName(AURL);
    AStream.SaveToFile(AFileName);
  finally
    AClient.Free;
    AStream.Free;
  end;
end;

...

Download('https://i.iinfo.cz/images/214/rust-1-prev.jpg');

předpokladem je, že v systému existuje openssl knihovna

Takto nějak si programátor v Pascalu začátkem 90. let jistě představoval zářnou budoucnost programování.
Název: Re:Lazarus - stažení souboru
Přispěvatel: daks 14. 05. 2017, 13:33:54
Takto nějak si programátor v Pascalu začátkem 90. let jistě představoval zářnou budoucnost programování.

chudák...
Název: Re:Lazarus - stažení souboru
Přispěvatel: Inkvizitor 14. 05. 2017, 14:07:26
Takto nějak si programátor v Pascalu začátkem 90. let jistě představoval zářnou budoucnost programování.

chudák...

Tobě ten kód nepřijde poněkud nemístně ukecaný, pokud znáš nějaké jiné jazyky a jejich standardní knihovny?
Název: Re:Lazarus - stažení souboru
Přispěvatel: daks 14. 05. 2017, 14:44:22
Tobě ten kód nepřijde poněkud nemístně ukecaný, pokud znáš nějaké jiné jazyky a jejich standardní knihovny?

z tohoto pohledu nazíráno, jsou jazyky, co si vedou líp a některý zase hůř ;)
Název: Re:Lazarus - stažení souboru
Přispěvatel: Inkvizitor 14. 05. 2017, 15:02:08
Tobě ten kód nepřijde poněkud nemístně ukecaný, pokud znáš nějaké jiné jazyky a jejich standardní knihovny?

z tohoto pohledu nazíráno, jsou jazyky, co si vedou líp a některý zase hůř ;)

No jasně, já jsem si prostě vzpomněl na svoje pocity, když jsem z Turbo Pascalu přecházel na TC(++). Jasně, spousta věcí byla horších (ty proklaté hlavičkové soubory a v něčem příliš low level atd.), ale zase to C mělo úspornější syntaxi a hlavně spoustu funkcí, které se v Turbo Pascalu musely dopisovat ručně. Jestli vám to vyhovuje, klidně pascalujte...
Název: Re:Lazarus - stažení souboru
Přispěvatel: daks 14. 05. 2017, 15:46:25
...Jestli vám to vyhovuje, klidně pascalujte...
Až zas tak fanda Pascalu nejsem, jenom v něm náhodou občas něco dělám.