Datein Downloaden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

lohgock

Betreff: Datein Downloaden

BeitragFr, Nov 25, 2005 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich will grad nen patcher für mein spiel programmieren.
NUr das blöde ist, ich kenn mich mit tcp und so in BB nicht so aus.
Also ich willde n so amchen. Zuerst lädt der die datei ptachlist.txt runter öffnet sie. Dort stehen welceh datei (http://blablabla.de/test.jpg) udn wohin (/bilder/test/) jo und der soll halt die datei in den ordner rutner laden!
WIe mach ich das am besten?
 

Florian

BeitragFr, Nov 25, 2005 17:36
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]


Function LoadWebFile( srcFile$, dstFile$,BUFFER_SIZE )
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

Xalon

BeitragFr, Nov 25, 2005 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Arrow HTTP Protokoll lernen

Xalon
>>Besucht doch mal meine Seite,mit NEUEN Tutorials<<
User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group