Downloader|Uploader
Übersicht

X0rBetreff: Downloader|Uploader |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo. Kann mir jemand eine Funktion oder sonstwas schreiben, mit dem ich Dateien downloaden und uploaden kann?
Danke im voraus. |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
lies dir mal die stream-geschichten in der hilfe durch und vielleicht auch noch bei wiki die artikel zu http und ftp! viel spaß beim selberschreiben! | ||
MrKeks.net |
- Zuletzt bearbeitet von Mr.Keks am Do, Jul 06, 2006 21:12, insgesamt 2-mal bearbeitet
Steve0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Lies dir den Code von Suco-X mal durch:
https://www.blitzforum.de/foru...rnet+laden Da wird jedenfalls erklärt wie man Dateien runterlädt. Für den Upload weiß ichs net aber du kannst ja versuchen per FTP hochzuladen (Dürfte im Forum auch irgentwo stehen. Suche benutzen). [Edit] Mist zu spät. |
||
Pixelgenaue 2D SingleSurface Engine!!! |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieviel zahlst du, ich nehm für ne Stunde 20€ und ich habe sowas noch nie geschrieben, könnte also ein wenig länger dauern.
Aber mal im ernst, wozu will man programmieren lernen, wenn man sich die Funktionen von anderen schreiben lässt |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Er brauch doch gar kein programmieren mehr lernen. Er kann es doch
schon lang. Da ihm das nun keiner in 3h programmiert hat wird er sich gleich beklagen und es sich von der englischen Community coden lassen. Wie immer. IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
*psst* kein Flame hier, ok?
Danke. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah. Genau dieser "http:: " code hat mir gefehlt. Danke. Ich habe da mal ein Downloader gemacht:
Code: [AUSKLAPPEN] file=ReadFile("http::ultimative.ul.ohost.de/gfx/13.gif") file1=WriteFile("C:/TEST.JPG") While Not Eof(file) WriteInt file1,Readint(file) Wend CloseFile(file) CloseFile(file1) Ich wolte ja eins selber schreiben, aber ich wusste nicht, wie ich auf eine Datei im Netz zugreifen kann. Jetzt weiß ichs ja. |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das is ja ein Mega dynamischer Downloader, praktisch in einer Funktion
verpackt. Nice nice. rdy4trsh? IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man bemerke vorallem, wie er ein *.gif runterlädt und als *.jpg speichert!
![]() |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
was passiert eigentlcih, wenn die Dateigröße nicht durch 4 Teilbar ist? | ||
between angels and insects |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann bleibt das Programm meines wissens nach solange beim letzen Read befehl stehen, bis 4 bytes zur verfügung stehen, da sockets kein ReadTimeout haben. | ||
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Für diejenigen, die es gerne etwas dynamischer hätten und keine unnützen Bytes beim Downloaden einer Datei mit einer unpassenden Länge haben wollen:
Blitz Max Datei-Download Beispiel: Code: [AUSKLAPPEN] DownloadFile("blitzforum.de/forum/index.php")
Code: [AUSKLAPPEN] Function DownloadFile( URL$, SaveTo$="", D_port=80 )
Local t:TSocketStream Local stream_length:Long = 0 Local path$ = StripDir(URL$) If Instr(URL$, "/") URL$=Left(URL$, Instr(URL$, "/")-1) EndIf Rem Print URL$ Print Path$ WaitKey end rem t = ConnectToServer( URL$, "/"+path$, D_port) FlushStream(t) Local returns:String = ReadLine(t) While returns <> "" If Upper(Left(returns, 14))="CONTENT-LENGTH" Then stream_length = Long(Mid(returns, 17)) EndIf returns = ReadLine(t) Wend Print "" If t=Null Then Print "Error" Else If SaveTo$="" Then SaveTo$ = StripDir(path$) EndIf If Instr(SaveTo$,"?") Then SaveTo$ = Left( SaveTo$, Instr(SaveTo$, "?")-1 ) EndIf Local datei:TStream Local time% = MilliSecs() datei:TStream = WriteFile(SaveTo$) CopyStream t, datei, 4096 CloseFile datei Print "Time: "+(MilliSecs() - time) CloseStream t EndIf End Function Function ConnectToServer:TSocketStream( host:String, path:String, port=80 ) Local hsock:TSocket = CreateTCPSocket() ConnectSocket(hsock,HostIp(host),port) Local Stream:TSocketStream = CreateSocketStream(hsock,True) WriteLine(Stream,"GET " + path + " HTTP/1.0") WriteLine(Stream,"HOST: "+host) WriteLine(Stream,"") Return Stream EndFunction Benutzt zwar eine andere Methode, funktioniert aber trotzdem ![]() |
||
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok. Mag zwar sein, dass es Fehler gibt, wenn man Dateien runterladet, die nicht durch vier teilbar sind, aber bei Media Dateien, Exe Dateien u.s.w müsste es immer klappen, da die sozusagen selber mit "writeint geschrieben sind" und somit ihre Größe immer durch vier teilbar ist, oder?
Also mit meinem Script gab es keine Probleme beim Download einer Image, Video oder Exe Datei. |
||
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Also mit meinem Script gab es keine Probleme beim Download einer Image, Video oder Exe Datei.
Schau sie dir mit nem Hexeditor an und erzähl mir das nochmal. P.S. Du wirst deshalb keinen Fehler bemerken, weil die Dateiformate so ausgelegt sind, dass sie die letzten Bytes gar nicht beachten. Dadurch erscheint auch keine Fehlermeldung, wenn du z.B. eine PNG-Datei herunterlädst. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
DW hat Folgendes geschrieben: Ok. Mag zwar sein, dass es Fehler gibt, wenn man Dateien runterladet, die nicht durch vier teilbar sind, aber bei Media Dateien, Exe Dateien u.s.w müsste es immer klappen, da die sozusagen selber mit "writeint geschrieben sind" und somit ihre Größe immer durch vier teilbar ist, oder?
Also mit meinem Script gab es keine Probleme beim Download einer Image, Video oder Exe Datei. Also ich dachte bis jetzt immer das man wenn man eine Binäre datei schreiben/lesen will, es immer Byte-Mäßig machen soll.... |
||
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, hab ich auch gerade bemerkt.
Aber wenn ich z.B eine Datei mit Wizard Package Maker packe, dann wird auch mit readint und mit readwrite die Datei kopiert. Beim Entpacken das selbe. Warum ist sie dann nicht beschädigt? |
||
- Zuletzt bearbeitet von X0r am Mo, Jul 10, 2006 16:44, insgesamt einmal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was sie dir sagen wollten: Nicht jedes Dateiformat basiert auf Int / 4 Byte blöcken. Und dort wirste dann probs bekommen
also nimm doch einfach read/write byte ... so schwer kann das doch eigentlich net sein oder? |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok. Auf jeden Fall kamen bei meinem Script keine Probleme(Bei images, exes,videos).
Und warum ist Blitzproggers code dynamischer? Wie meint ihr das? Bei meinem script passiert doch eigentlich das gleiche, er kopiert einfach den code der Datei. |
||
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Ok. Auf jeden Fall kamen bei meinem Script keine Probleme(Bei images, exes,videos).
Weil die letzten Bytes von deinen Bildbearbeitungsprogrammen nicht beachtet wurden. Zitat: Und warum ist Blitzproggers code dynamischer? Wie meint ihr das?
Bei meinem script passiert doch eigentlich das gleiche, er kopiert einfach den code der Datei. Dynmaischer nannte ich ihn nur, weil er in eine Funktion gepackt war und einfach nur einen Parameter erwartete (URL). Man konnte zusätzlich noch als 2ten Parameter den Pfad zu der zu speichernden Datei angeben. Es lässt sich also einfach der Code einbinden (bzw. Modul kompilieren) und diese Funktion nutzen. P.S. Dein Code in eine Funktion gepackt: Code: [AUSKLAPPEN] Function DownloadFile(url$, out$)
file=ReadFile("http::"+url$) file1=WriteFile(out$) While Not Eof(file) WriteByte file1,ReadByte(file) Wend CloseFile(file) CloseFile(file1) End Function Braucht zwar länger, bis er die Datei heruntergeladen hat (1-Byte-Buffer), wäre aber natürlich auch möglich, wenns nicht auf Speed ankommt. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also das mit Funktion ist natürlich klar, logisch. Ich habe das vorher einfach nur hingerappelt, da es eh keiner nutzt. Aber die restlichen Bytes werden eigentlich bei einer Datei nie beachtet. Bei Exe ist das auch so.
Natürlich könnte ich copystream nehmen, aber dann könnte ich das nicht so gut mit der Progbar hinbekommen. Und was sollte dieses geflame? Ich hab nett gefragt und bekomme miese Antworten, so als wäre ich ein absoluter noob. Ich wusste nunmal nicht, dass man "::" statt "://" nehmen muss bzw. dass das Programm es nicht erkennen kann. Thema beendet. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group