Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idFTP.list bei glftpd (ftpserver) +ssl ->Read Timeout (https://www.delphipraxis.net/118066-idftp-list-bei-glftpd-ftpserver-ssl-read-timeout.html)

gandime 1. Aug 2008 00:44

Re: idFTP.list bei glftpd (ftpserver) +ssl ->Read Timeout
 
Hi,
meines wissens nicht sobald man SSL bennutz aber ich werde natürlich gerne überzeugt ;-)
ich hab mir aber selbst schon nen Code geschrieben der das auseianderpflückt:
Delphi-Quellcode:
procedure TForm1.list(FTP:TidFTP);
var
  sllist:tstringlist;
  I: Integer;
  s:string;
begin
  sllist:=tstringlist.create;
  lvFTP.Clear;
  FTP.List(sllist,'',true);
  lvFTP.Items.Add;
  lvFTP.Items.Item[lvFTP.Items.Count-1].Caption:='Höheres Verzeichnis...';
  for I := 1 to sllist.count - 1 do
  begin
    lvFTP.Items.Add;
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.add('');
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.add('');
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.add(split_vor(slList[i],' ',true));
    s:=split_nach(slList[i],' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.add(split_vor(s,' ',true));
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.strings[0]:=split_vor(s,' ',true);
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.strings[1]:=split_vor(s,' ',true);
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.strings[1]:=lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.strings[1]+' '+split_vor(s,' ',true);
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.strings[1]:=lvFTP.Items.Item[lvFTP.Items.Count-1].SubItems.strings[1]+' '+split_vor(s,' ',true);
    s:=split_nach(s,' ',true);
    while s[1]=' ' do
      s:=copy(s,2,length(s));
    lvFTP.Items.Item[lvFTP.Items.Count-1].Caption:=s;
  sllist.Free;
end;
läft sogar ganz gut^^
und die oben beschriebene 5 ist sobald es eine Datei ist immer eine 1 ich hoffe das das stimmt?

marabu 1. Aug 2008 05:59

Re: idFTP.list bei glftpd (ftpserver) +ssl ->Read Timeout
 
Moin,

die Zahl ist ein link count, eine Besonderheit des Dateisystems unter Unix. Ob es sich bei einem Eintrag um ein Verzeichnis handelt oder nicht, erfährst du vom ersten Zeichen der Zeile (Zugriffsrechte). Ich weiß nicht, ob das automatische Parsen der Verzeichniseinträge bei Verwendung von SSL versagt, kann es mir aber auch nicht vorstellen.
Wie hast du es denn festgestellt?

klick

Grüße vom marabu

Assertor 1. Aug 2008 07:45

Re: idFTP.list bei glftpd (ftpserver) +ssl ->Read Timeout
 
Hi gandime,

Zitat:

Zitat von gandime
Nach dem "minimirten" Code und dem OpenSSL update läuft jetzt alles super danke!

Freut mich, Dir helfen zu können!

Zitat:

Zitat von marabu
Ich weiß nicht, ob das automatische Parsen der Verzeichniseinträge bei Verwendung von SSL versagt, kann es mir aber auch nicht vorstellen.

Der gute marabu hat natürlich recht ;) Da gibt es keinen Grund, warum das Parsen mit SSL nicht gehen sollte. Die Verbindung wird zwar verschlüsselt, aber die Standards werden ja eingehalten.

Unter Umständen mußt Du noch verschiedene Listparser-Units einbinden. Es gibt aber z.B. auch eine IdAllFTPListParsers.pas, damit möglichst viele Server unterstützt werden.

Aus IdAllFTPListParsers.pas:
Zitat:

Note that is unit is simply for listing ALL FTP List parsers in Indy.
The user could then add this unit to a uses clause in their program and
have all FTP list parsers linked into their program
Einfach den Unitnamen in Deine Uses aufnehmen.

Entsprechend dann Code nutzen, wie von marabu gepostet.

Gruß Assertor

gandime 2. Aug 2008 19:27

Re: idFTP.list bei glftpd (ftpserver) +ssl ->Read Timeout
 
jope danke für die info! jetzt halt sich wohl alles erledigt ;-)

Assertor 4. Aug 2008 19:39

Re: idFTP.list bei glftpd (ftpserver) +ssl ->Read Timeout
 
Zitat:

Zitat von gandime
jope danke für die info! jetzt halt sich wohl alles erledigt ;-)

Na dann ist ja gut. Danke fürs Feedback! :-D

Gruß Assertor


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz