FTP-Client mit TCL
Christoph Schnauß
- ftp
guten Abend ;-)
Ich bin grade dabei, mir einen eigenen kleinen FTP-Client mit TCL zu schreiben. Er soll nicht nur FTP können, sondern auch die paar CVS-Adressen, die ich gelegentlich besuche, ansteuern können. Weil das die "normalen" FTP-Clients nicht können (jedenfalls nicht die, die ich bisher kenne), bastle ich mir das Teil halt selber, und TCL als Programmiersprache hab ich genommen, weil ich das Script, wenns denn fertig ist, unverändert in Windows und LINUX einsetzen kann. Außerdem mag ich halt TCL ;-)
Jetzt hänge ich an einer möglicherweise banalen Stelle. Der FTP-Zugang funktioniert zwar prinzipiell, aber ich habe mehrere FTP-Adressen, bei denen ich über einen Account verfüge. Außerdem gibts ein paar große FTP-Server, bei denen ich gelegentlich vorbeischaue, und bei denen ich mich anonym anmelden kann.
Mir wird ganz einfach die Acoount-Abfrage lästig. Und da kriege ich die Speicherung noch nicht hin. Zum Vergleich wollte ich mir eine kleine BAT (unter Windows) schreiben, aber auch das schaffe ich nicht. Man kann ja von der "Eingabeaufforderung" das lokale FTP (Datei ftp.exe in C:\WinXP\system32} aufrufen, ich benutze das manchmal, wenn ich an einen Rechner gerate, auf dem gerade kein anderes FTP-Programm zur Verfügung steht. Da muß man nach dem "open"-Befehl die Adresse eintippen, dann username und Paßwort, und schließlich den gewünschten Befehl - zum download beispielsweise "get". Das Vorgehen, der Reihe nach am Programmprompt ein paar Befehle zu tippen, schreit geradezu danach, in einem Script zusammengefaßt zu werden. Hat jemand nen Hinweis, wie das zu machen ist?
Ich kriege bisweilen deutlich komplexere Scripts zum Laufen, aber hier scheitere ich daran, daß das Paßwort abgefragt wird und ich dafür keine Automatisierung hinbekomme.
Grüße aus Berlin
Christoph S.
Hallo,
Ich kriege bisweilen deutlich komplexere Scripts zum Laufen, aber hier scheitere ich daran, daß das Paßwort abgefragt wird und ich dafür keine Automatisierung hinbekomme.
Suchst Du etwas in dieser Art?
[myftp.bat]
ftp -n -s:commands.txt
[commands.txt]
open ftp.abc.de
user username
password
cd x/y
get xyz.txt
quit
MfG, Thomas
hi,
Suchst Du etwas in dieser Art? [...]
Ja ! Sieht so einfach aus, aber manchmal gibts ja die berühmte Betriebsblindheit. Du erlaubst, daß ich meine Daten reinsetze *g*
Grüße aus Berlin
Christoph S.
Hallo,
Mir wird ganz einfach die Acoount-Abfrage lästig. Und da kriege ich die Speicherung noch nicht hin. Zum Vergleich wollte ich mir eine kleine BAT (unter Windows) schreiben, aber auch das schaffe ich nicht.
Mit XP kenn ich mihc zwar nicht aus, aber bisher, also bis einschließlich Win2K konntest Du euch einen Steuerdatei mit den FTP-BEfehlen angaben, um die Kommandos abzuarbeiten (kenn ich noch aus den Zeiten als Solaris SunOS hieß *g*)
C:> copy CON: command.ftp
open some.ftp.server
username
secretpassword
^Z
1 Datei(en) kopiert.
C:>
C:> ftp -s:command.ftp
D:\schrott>ftp -s:ftp.txt
ftp> open some.ftp.server
Verbindung mit dbsrv.mfk.intern wurde hergestellt.
220 ready
Benutzer (some.ftp.server:(none)):
331 Please specify the password.
230 Login successful. Have fun.
ftp>
ftp>
ftp>
ftp> quit
221 Goodbye.
C:>
Grüße
Klaus
hi Klaus,
Mit XP kenn ich mihc zwar nicht aus
Das ist in diesem Fall unwichtig, weil es lediglich darum geht, von der "DOS-Ebene", die es in WinXP ja durchaus noch gibt, eine EXE zu starten. Aber:
C:> copy CON: command.ftp
Das krieg ich nicht auf die Reihe, wie du das gemeint hast. Es reicht doch aus, wenn ich an der "Eingabeaufforderung" eingebe "ftp". Dann krieg ich eine ftp-Prompt, der so aussieht:
ftp>
Und da gebe ich jetzt der Reihe nach ein:
ftp>open christoph-schnauss.de (jaja, das gibts)
Dann erhalte ich:
Verbindung mit christoph-schnauss.de wurde hergestellt.
220 WebJanssen ISP ltd Server 10 FTP Server ist bereit.
Benutzer (christoph-schnauss.de:(none)):
Und wenn der Benutzername korrekt ist, kommt:
331 User name okay, need password.
Kennwort:
Ich gebe also mein Paßwort ein und lande da, wo ich ja hinwollte.
Du hast jetzt nichts anderes beschrieben. Ich wollte nun gern, daß ich die Reihenfolge "open FTP-URL / Anemledename / Kennwort" automatisieren kann.
Macht ja nix. Es sieht so aus, als ob ich mit dem, was Thomas geschrieben hat, erstmal nen Schritt weiterkomme.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
C:> copy CON: command.ftp
Das krieg ich nicht auf die Reihe, wie du das gemeint hast.
ach, das war eigentlich nicht wichtig. Es ist nur eine von vielen Möglichkeiten eine Datei zu erstellen *g*.
Macht ja nix. Es sieht so aus, als ob ich mit dem, was Thomas geschrieben hat, erstmal nen Schritt weiterkomme.
Prinzipiell haben Thomas und ich Dir ja die gleiche Lösung vorgeschlagen.
1.) erstelle eine Datei (kommandos.txt) mit den FTP-Kommandos
2.) starte das FTP-Programm mit der Option -s:kommandos.txt
Grüße und schönes WOchenende
Klaus