Mit FTP-Server kommunizieren
-
Hi,
ich schreibe gerade ein kleines Prog, mit dem man mit einem FTP-Server kommunizieren sollte (so wie in telnet). Verbinden kann ich mich mit dem Server (den Servern) bereits, aber danach kommt nix mehr. Ich mache das so:connect(...); // Klappt, denn printf("OK\n"); // er schreibt OK in die Konsole recv(s, buf, 4096, 0); // Hier bleibt er stecken printf("Antwort auf Connect: "); printf(buf); printf("\n\n");
Ich möchte gern, dass mir der Server sagt: "Bitte geben Sie Benutzername und Passwort ein" oder so. Aber er sagt garnichts. Wieso?
-
Probier mal 'ne telnet-sitzung mit einem ftp-server:
telnet <server> 21 {enter} // unter windows mit Start->Ausführen
und gib einfach:
user <username> {enter}
...server redet....
pass <passwort> {enter}
... server sagt login succesful ...
Er redet nur mit dir, wenn du mit Ihm redest ;).
-
Ich hab's!!! Der Port war falsch. Erst hab ich's auf 23, dann auf 80 versucht. Hat alles nicht geklappt. Aber wie ich auf die Zahlen gekommen bin, weiß ich auch ned.
Jetzt würde ich gerne in das DOC-Verzeichnis wechseln oder mir einen Verzeichnisinhalt anzeigen lassen. Wie mache ich das? "dir" oder "cd doc" funzen nicht. Der sagt immer "not understood".
-
Das ist auf jeden Fall nicht mehr trivial und einfach:
Also sende und lese folgendes zum FTP-Server:
//connect
{lesen}
user <username> {enter}
{lesen}
pass <password> {enter}
{lesen}
port ipaddr1,ipaddr2,ipaddr3,ipaddr4,port_high,port_low //als beispiel mal 127,0,0,1,10,10 (IP 127.0.0.0 Port 2570)
{lesen}
list {enter}
(ein listener in diesem Beispiel Port 2570 muss eingerichtet sein, an diesen Port sendet der FTP-Server die Daten des Directorys)
odernlst {enter}
für ein ausführlicheres Directory.
FTP-Programmierung kann echt pervers sein!!
-
Argh. Bevor wir dazu kommen... ich hab immernoch Probleme beim Senden und Empfangen. Wie weiß ich denn überhaupt, wo ein gesendeter String zu ende ist? OK, nach jeder Zeile ist ein \r\n. Aber was ist die letzte Zeile? Ich bekomme am Ende immer nur Müll angezeigt.
-
In der Gefahr das ich jetzt Quatsch erzähle, aber probier mal ein EOF auszuwerten. So gut kenn ich mich mit der Thematik auch nicht aus.
Versuch bei Ebay "Internet Intern" zu ersteigern. Da ist FTP bis zum
Erbrechen auseinanderklamüsert.