Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: [gelöst] FXP bzw. SiteToSite Transfer

  Alt 5. Jan 2010, 12:39
Hallo DelTurbo,

Nachtrag zu den Exceptions, auch wenn schon gelöst.

Indy wirft Exception für RFC Result Codes, also nicht nur für Fehler. Beispiel ist z.B. Result Code 213 bei FTP, was als Antwort auf eine erfolgreiche Size Abfrage kommt. Die 200er Result Codes sind eigentlich alles Statusmeldungen, also nur Hinweise.

Du kannst die Exception entsprechend behandeln. Beispiel für Size:

Delphi-Quellcode:
try
  Result := IdFTP1.Size(AFileName);
except
  On E: EIdReplyRFCError do
  begin
    // rfc return code 213 is the result code for size,
    // it is not really an RFCError but Indy handles it this way...
    if E.ErrorCode <> 213 then
      raise;
  end;
  On E: Exception do
    raise;
end;
Das kannst Du entsprechend für 200 und Deinen Aufruf anpassen. Wichtig ist die absteigende Reihenfolge beim Exceptionhandling, also Basisklassen immer als letztes.

Der Result Code 553 bedeutet "Requested action not taken. File name not allowed.". FlashFXP weist also Deinen Dateinamen ab. Eigentlich sollte der Server noch mehr Feedback in Textform geben. Dieser Text wird von Indy durchgeleitet (im Beispiel wäre das E.Message im EIdReplyRFCError Block).

Bei FlashFXP 1.2 gab es bei Fehler 553 früher eine Meldung die so aussah:
Zitat:
553-The name you specified is not allowed.
553-Names must contain only ASCII letters (a-z,A-Z), digits (0-9), underscore, dot and dash.
553-Names must not start with a dot (.) or dash (-).
553-In addition, only certain file extentions are allowed for security reasons.
Also: Entweder ungültiger Dateiname oder Zugriff beschränkt (chmod?).

Zur Clever Internet Suite kann ich leider nichts sagen, das ist mir für bloße Vergleichstests viel zu teuer.

Im FlashFXP Support Forum gibt es aber einige Tickets zu FlashFXP 3.5.1 und dem 553 Result, Beispiel:
http://www.flashfxp.com/forum/bugtra...acker_bugid=74

Die RFC Result Codes für FTP findest Du hier (einfach nach z.B. 200 oder 553 suchen):
http://www.faqs.org/rfcs/rfc959.html

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat