FTP-Upload

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

mactep

Betreff: FTP-Upload

BeitragDo, Apr 09, 2009 4:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute !

kann mal einer bitte erklaeren wie ich eine Datei auf einen FTP server laden kann??
Ich finde einfach keine Erklaerung/Bsp. wie das geht.

hab im Forum gesucht jedoch nix wirklich gefunden.

ein User schrieb was von "Btools" ??? kennt das jemand ?

http://www.makegame.de/btools/index.php?show=ftp
Die Seite ist leider Down

An diesem Beispiel von einem User im Forum kann man etwas auf einen FTP Server Laden...
aber wie Lade ich etwas auf den Server ? Sorry bin noch n Noob was das angeht !!

Freue mich auf Antworten!!!!

MFG
MACTEP



Code: [AUSKLAPPEN]


Graphics 640,480,0,2
SetBuffer BackBuffer()

Global port, ip$,tcp,daten
Dim pos(6)

time = MilliSecs()
tcp = OpenTCPStream ("server.de",21);ftp server

nachricht$ = ReadLine(tcp)
Print nachricht


;Anmeldung
WriteLine tcp,"USER "+"loginname"  ;ftp loginname
nachricht$ = ReadLine(tcp)
Print nachricht

WriteLine tcp,"PASS "+"passwort"  ;ftp passwort
nachricht$ = ReadLine(tcp)
Print nachricht

WriteLine tcp,"TYPE I" ;binär Modus!
nachricht$ = ReadLine(tcp)
Print nachricht

WriteLine tcp, "PASV" ;passiver Transfermodus
nachricht$ = ReadLine(tcp)
IP_PORT(nachricht$) ;2. ip aus nachricht holen



daten = OpenTCPStream (ip$,port)
file$ ="datei.**" ;zieldatei, die du runterladen willst

WriteLine tcp,"RETR "+file$
nachricht$ = ReadLine(tcp)
Print nachricht


datei = WriteFile(file$)
bank=CreateBank(10000)       

Repeat
   anz=ReadBytes(bank,daten,0,10000)
   WriteBytes bank,datei,0,anz         
Until anz<>10000

FreeBank bank
CloseFile datei


CloseTCPStream daten

nachricht$ = ReadLine(tcp)
Print nachricht

Print "Downloadzeit: " + (MilliSecs()-time) +" Millisekunden."

WaitKey
End


;empfangene Ip für den Download umwandeln.
Function IP_PORT(nachricht$)
ip$ =""
port = 0
punkt$ ="."

pos(0) = (Instr(nachricht$,"(")+1)

For i = 1 To 4
 pos(i) = Instr(nachricht$,",",pos(i-1)+1)
 If i > 1 Then t = 1
 stelle$ = Mid(nachricht,pos(i-1)+t,pos(i)-pos(i-1)-t)
 If i = 4 Then punkt$ =""
 ip$ = ip$ + stelle$ + punkt$
Next

pos(5) = Instr(nachricht$,",",pos(4)+1)
zahl1  = Mid(nachricht,(pos(4)+1),pos(5)-(pos(4)+1))

pos(6) = Instr(nachricht$,")",pos(5)+1)
zahl2  = Mid(nachricht,(pos(5)+1),pos(6)-(pos(5)+1))

port = zahl1*256 + zahl2

Print "IP: " + ip$
Print "PORT: " +port
End Function


~Editiert~
Titel geändert. Bitte unterlasse in Zukunft dieses massiven Einsatz von Satzzeichen. MfG D2006
 

DjDETE

BeitragDo, Apr 09, 2009 8:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Suche nach Upload und du wirst fündig Wink
MfG
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

Smily

BeitragDo, Apr 09, 2009 9:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso besteht dein Titel eigentlich zu geschätzen 50% aus satzzeichen?
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Pummelie

BeitragDo, Apr 09, 2009 9:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du auf einen ftp server laden möchtest, mache dich mit den ftp Befehlen vertraut.
Befehle

Bsp.:
BlitzBasic: [AUSKLAPPEN]

stream=OpenTCPStream("deinftp.de",21)
WriteLine stream,"send data.dat"
file=OpenFile("data.dat")
bank = CreateBank(10240)
Repeat
ReadBytes(bank,file,0,10240)
WriteBytes(bank,stream,0,10240)
Select Eof(file)
Case 1
CloseFile file
CloseTCPStream(stream)
End
End Select
Forever


Beispiel geht glaub ich nicht, aber sollte den aufbau verständlich machen
It's done when it's done.
  • Zuletzt bearbeitet von Pummelie am So, Apr 19, 2009 19:46, insgesamt 2-mal bearbeitet

Starwar

BeitragDo, Apr 09, 2009 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Es funktioniert mit OpenTCPstream an Port 21. Befheler gibtst du dem Server mit WriteLine und antworten erhälst du mit ReadLine in kombination mit ReadAvail.
Die genauen FTP Befehle stehen in der Wikipedia. Auch die Log von FileZilla (steht oben im Fenster) kann dir nützlich sein.
MFG

Hip Teen

BeitragDo, Apr 09, 2009 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ihr seid doch gemein, grade das downloaden mit FTP ist voll nervig zu programmieren Rolling Eyes . Gibt doch schon gute Codes, z.B. hier

@Pummelie bei FTP wird für die eigentlich Datenübertragung ein anderer Stream geöffnet, der Stream auf Port 21 ist ausschließlich für den Austausch von Befehlen da. Dein Beispiel ist also grob irreführend...
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Starwar

BeitragDo, Apr 09, 2009 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Noch ein wichtiger Sicherheitshinweis: Du musst dein Passwort im Programm vermerken! Das bedeutet, dass es jeder mit Wireshark auslesen kann. Eine Alternative wäre mit PHP und HTTP-POST realisierbar, ist aber extrem kompliziert...
MFG
 

mactep

BeitragDo, Apr 09, 2009 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke fuer die Tipps & heave a nice Day ! Very Happy

MisterIKS

BeitragFr, Apr 10, 2009 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe jetzt eben auch mal die FTP-Funcs, auf die hier verwiesen wird ausprobiert, aber irgendwie kann ich mit FTP_Put keine Datei hochladen. Runterladen kann ich aber alles mit FTP_Get problemlos. Hat jemand das gleiche Problem? Liegt es an des Funktionen oder am Server? Oder mach ich was falsch?
http://www.mphsoftware.de.vu

MisterIKS

BeitragFr, Apr 10, 2009 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab es jetzt selbst rausgefunden. Very Happy

Falls es jemanden interessiert, das Problem lag in der Funktion die er Programmierer eingebaut hat, die den Progress anzeigt. Wenn man diese Funktion nicht will und den Parameter progress auf 0 setzt hat offenbar der rest der Funktion nicht genügend Zeit zu arbeiten, weil innerhalb der Progressbar-Funtion ein delay 1500 drin steht. Wenn man sich das extra dazuschreibt klappt alles.

Vielleicht war das auch nur bei mir so, erscheint mir aber logisch! Laughing
http://www.mphsoftware.de.vu

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group