Automatisches download von Files
Übersicht

David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Das wirst du wohl schwehrlich mit dem HTTP Protokoll zustande bringen. Da wirst du dich über das FTP Protokoll informieren müssen. grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
joachim_neu |
![]() Antworten mit Zitat ![]() |
---|---|---|
aber wie macht das z.B. ein browser? der braucht doch auch net so lange! | ||
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Für was braucht der nicht so lange? grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
joachim_neu |
![]() Antworten mit Zitat ![]() |
---|---|---|
beim downloaden! ich meine so lange, wie dein script! | ||
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Beschwehr dich nich sondern machs schneller. Auserdem ist das kein Script! grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
soli |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist es das was du suchst?
http://www.blitzcoder.com/cgi-...omments=no |
||
solitaire |
![]() |
Markus Rossé |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probier das:
http://www.blitzbasic.com/code...hp?code=16 cu, Markus Rossé |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
So, diese Version ist nun schneller als die letzte: Code: [AUSKLAPPEN] Graphics 640, 480, 32 Const FILE_NAME$ = "http://weblink.art-fx.org/6.jpg" Const DST_FILE$ = "c:\testpic.jpg" Const BUFFER_SIZE = 65536 LoadWebFile( FILE_NAME, DST_FILE ) WaitKey End Function LoadWebFile( srcFile$, dstFile$ ) Local TCPStream, tmpPos, dataSize, tmpBank Local Host$ = "", HTTPHeader$ = "" Local Buffer = BUFFER_SIZE If ( Left( srcFile$, 7 ) = "http://" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 ) tmpPos = Instr( srcFile$, "/" ) If ( tmpPos ) Then Host$ = Left( srcFile$, tmpPos - 1 ) srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 ) Else Host$ = srcFile$ srcFile$ = "/" End If TCPStream = OpenTCPStream( Host$, 80 ) If ( Not TCPStream ) Then RuntimeError( "Fehler beim verbinden zu: " + Host$ ) End If WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" ) WriteLine( TCPStream, "Host: " + Host$ ) WriteLine( TCPStream, "Accept: */*" ) WriteLine( TCPStream, Chr$( 10 ) ) Repeat HTTPHeader$ = ReadLine( TCPStream ) If ( Left( HTTPHeader$, 16 ) = "Content-Length: " ) Then dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 ) End If Until HTTPHeader$ = "" Or Eof( TCPStream ) If ( dataSize > 0 ) file = WriteFile( dstFile$ ) tmpBank = CreateBank( Buffer ) If ( Not file ) Then RuntimeError( "Fehler beim erstellen der Downloaddatei" ) End If bytesReaded = 0 Repeat bytesRemaind = dataSize - bytesReaded If ( bytesRemaind < BUFFER_SIZE ) Then Buffer = bytesRemaind End If s = ReadBytes( tmpBank, TCPStream, 0, Buffer ) WriteBytes( tmpBank, file, 0, s ) bytesReaded = bytesReaded + s Until s <> BUFFER_SIZE CloseFile( file ) CloseTCPStream( TCPStream ) FreeBank( tmpBank ) End If End Function grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Http oder Ftp zurgriff ??
Bei Htttp mus man GET <URL> senden. ( Natürlich <url> durch die Url ersetzen ...... Als Antwort wird die Website oder das Bild züruck geschickt .. Ps.: Habs bis jetzt nur bei Seiten gemacht ..... |
||
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf ! |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Code: [AUSKLAPPEN] WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" ) ![]() grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktioniert natürlich hervoragent. Nur durchblicken tu ich nicht so ganz. Währe net wenn du kleine Beschreibungen dazu machen könntest. | ||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Code: [AUSKLAPPEN] Graphics 640, 480, 32 Const FILE_NAME$ = "http://weblink.art-fx.org/6.jpg" Const DST_FILE$ = "c:\testpic.jpg" Const BUFFER_SIZE = 65536 LoadWebFile( FILE_NAME, DST_FILE ) WaitKey End Function LoadWebFile( srcFile$, dstFile$ ) Local TCPStream, tmpPos, dataSize, tmpBank Local Host$ = "", HTTPHeader$ = "" Local Buffer = BUFFER_SIZE ; falls ein http:// in der url gefunden wurde, dieses entfernen If ( Left( srcFile$, 7 ) = "http://" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 ) tmpPos = Instr( srcFile$, "/" ) ; host ermitteln und dateipfad an variable "srcFile" übergeben If ( tmpPos ) Then Host$ = Left( srcFile$, tmpPos - 1 ) srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 ) Else Host$ = srcFile$ srcFile$ = "/" End If ; verbindung zum server herstellen über port 80 (http) TCPStream = OpenTCPStream( Host$, 80 ) ; wenn TCPStream = 0 ist, war der verbindungsversuch erfolglos If ( Not TCPStream ) Then RuntimeError( "Fehler beim verbinden zu: " + Host$ ) End If ; datei anfordern: ; Get /6.jpg HTTP/1.1 ; Host: weblink.art-fx.org ; Accept: */* WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" ) WriteLine( TCPStream, "Host: " + Host$ ) WriteLine( TCPStream, "Accept: */*" ) WriteLine( TCPStream, Chr$( 10 ) ) ;http header überspringen und länge des datenpackets zwischenspeichern Repeat HTTPHeader$ = ReadLine( TCPStream ) If ( Left( HTTPHeader$, 16 ) = "Content-Length: " ) Then dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 ) End If Until HTTPHeader$ = "" Or Eof( TCPStream ) ;sind überhaupt daten geschickt worden? If ( dataSize > 0 ) ; datei auf lokalem datenträger erstellen file = WriteFile( dstFile$ ) ; hilf-"bank" erstellen tmpBank = CreateBank( Buffer ) ; konnte die lokale datei überhaupt angelegt werden? If ( Not file ) Then RuntimeError( "Fehler beim erstellen der Downloaddatei" ) End If bytesReaded = 0 ; lesen der bilddaten Repeat ; verbleibende bytes berechnen bytesRemaind = dataSize - bytesReaded ; anzahl der verbleibenden bytes kleiner als die bisher verwendete puffergröße? If ( bytesRemaind < BUFFER_SIZE ) Then ; puffergröße verkleinern Buffer = bytesRemaind End If ; <buffer> bytes in die hilf-"bank" lesen s = ReadBytes( tmpBank, TCPStream, 0, Buffer ) ; die gelesenen bytes in die lokale datei schreiben WriteBytes( tmpBank, file, 0, s ) ; hilfvariable aktualisieren bytesReaded = bytesReaded + s Until s <> BUFFER_SIZE ; schließen der verbindung, der lokalen datei und freigabe der bank CloseFile( file ) CloseTCPStream( TCPStream ) FreeBank( tmpBank ) End If End Function Rechtschreibfehler kannste behalten. ![]() grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
WEBLink |
![]() Antworten mit Zitat ![]() |
---|---|---|
Thx, wann bist du immer im ICQ on?
Möcht ma mit dir reden^^ |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group