Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
; POST RAW-Header
;
; POST /test.php?works HTTP/1.1
; Host: localhost:8080
; User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
; Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
; Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
; Accept-Encoding: gzip,deflate
; Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
; Keep-Alive: 115
; Connection: keep-alive
; Referer: http://localhost:8080/test.html
;
; Content-Type: multipart/form-Data; boundary=---------------------------11538186919912
; Content-Length: 926
;
; -----------------------------11538186919912
; Content-Disposition: form-Data; name="datei"; filename="crashreporter-override.ini"
; Content-Type: application/octet-stream
;
; # This file is in the UTF-8 encoding
; [Strings]
; # LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced With a string containing detailed information.
; CrashReporterProductErrorText2=Ein Problem ist aufgetreten und Firefox ist abgestürzt.Es wird versucht, Ihre Tabs und Fenster bei einem Neustart wiederherzustellen.\n\nBedauerlicherweise kann der Absturz-Melder diesen Absturz nicht melden.\n\nDetails: %s
; CrashReporterDescriptionText2=Ein Problem ist aufgetreten und Firefox ist abgestürzt. Es wird versucht, Ihre Tabs und Fenster bei einem Neustart wiederherzustellen.\n\n\nUm uns zu helfen, dieses Problem zu erkennen und zu reparieren, können Sie uns eine Absturz-Meldung schicken.
;
; POST /upload/upload.php HTTP/1.1
; Host: deinehp.de
; Content-Type: multipart/form-data; boundary=-------------------------------test
; Content-Length: ;Anzahl der Bytes nach der Leerzeile
;
; -------------------------------test
; Content-Disposition: form-data; name="myfile"; filename="bild.jpg"
; Content-Type: image/jpeg
;
; ;Bilddaten
; -------------------------------test
Global EOL$
EOL$ = Chr(13)+Chr(10)
; http://localhost:8080/test.php
server$ = "localhost"
Port = 8080
; Alles was nach dem SERVER kommt
url$ = "/"
filename$ = "test.php"
uploadFile$ = OpenFileRequester("Bla", "", "*.*|*.*", 0);"C:\\loaderSettings.ini"
; Mal noch was besseres einfallen lassen :-\
; Boundary name
RandomSeed(Date())
GUID.l = Random(Date())
Debug GUID
; Content Size + Header + Boundary
Size.l = 0;
boundary$ = "-------------------------------"+Str(GUID)+EOL$
FileHeader$ = "Content-Disposition: form-data; name="+Chr(34)+"datei"+Chr(34)+"; filename="+Chr(34)+"bild.txt"+Chr(34)+EOL$
FileHeader$ + "Content-Type: application/octet-stream"+EOL$+EOL$
*buff = AllocateMemory(FileSize(uploadFile$)+1)
If ReadFile(1, uploadFile$)
Debug "File Loaded"
ReadData(1,*buff, MemorySize(*buff))
CloseFile(1)
EndIf
; Boundary oben und unten
Size + 2*Len(boundary$)
; Header Size
Size + Len(FileHeader$)
; Datei size
Size + MemorySize(*buff)
Debug "Content Length:"+Str(Size)
ConnectionID = OpenNetworkConnection(server$, Port)
If ConnectionID
SendNetworkString(ConnectionID, "POST "+url$+filename$+"?upload HTTP/1.1"+EOL$)
SendNetworkString(ConnectionID, "Host: "+server$+":"+Str(Port)+EOL$)
SendNetworkString(ConnectionID, "Accept: */*"+EOL$)
SendNetworkString(ConnectionID, "Content-Type: multipart/form-data; boundary="+boundary$)
SendNetworkString(ConnectionID, "Content-Length: "+Str(Size))
SendNetworkString(ConnectionID, boundary$)
SendNetworkString(ConnectionID, FileHeader$)
SendNetworkData(ConnectionID, *buff, MemorySize(*buff))
SendNetworkString(ConnectionID, boundary$)
SendNetworkString(ConnectionID, EOL$)
Debug "File has been sent"
CloseNetworkConnection(ConnectionID)
Else
MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
End
