HTTP Post an JSP-Seite

derben123

Grünschnabel
Hallo!

Ich bin gerade dabei ein kleines Tool in VB .net zu schreiben, das in der Lage sein soll,
Dateien einzulesen (*.exe) und diese an eine Web-Anwendung zu schicken.

Der Webanwendung nimmt den Krempel entgegen und schreibt sie nach c:\file.xxx

So sieht der Code aus:
Code:
Imports System
Imports System.Web	'for HttpUtility class
Imports System.Text 'for Encoding class
Imports System.Net 	'for HttpWebRequest class
Imports System.IO   'for StreamReader class


Module Main
	Sub Main()
		Dim url as String = "http://10.38.6.36:8080/filelistener.jsp"
		'Dim data As String = "123XX123XX123XX123XX"
		Dim path as String = "C:\Programme\NetCat\nc.exe"	
			
		'Dim buffer() As Byte = Encoding.UTF8.GetBytes(data)
		Dim buffer() As Byte = BinReader(path)
		
		Dim objHttpReq as HttpWebRequest = HttpWebRequest.Create(url)
		objHttpReq.Method = WebRequestMethods.Http.Put
		objHttpReq.ContentLength = buffer.Length
		objHttpReq.ContentType = "application/x-www-form-urlencoded"
		objHttpReq.AllowWriteStreamBuffering = TRUE
				
		debug.Print(buffer.Length)
		
		Dim objHttpRequestStream As Stream = objHttpReq.GetRequestStream
		Dim objBinaryWriter as BinaryWriter = New BinaryWriter(objHttpRequestStream)
		
		For x As Integer = 0 To buffer.Length + 1
			objBinaryWriter.Write(buffer(x))
		Next
		
		'objBinaryWriter.Flush()
      	'objHttpRequestStream.Close()
      	
     
	End Sub
	
	
	
	
	
	
	
	
	Function BinReader(path As String) As Byte()
		Dim binDaten() As Byte
		
		Dim FStreamRead As New FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)
		Dim BinRead As New BinaryReader(FStreamRead)
		binDaten = BinRead.ReadBytes(CInt(FStreamRead.Length))
		BinRead.Close()
		FStreamRead.Close()
		
		return binDaten
	End Function
	
End Module

Mein erstes Problem:
Den ein oder anderen wird es sicher wundern, warum:
For x As Integer = 0 To buffer.Length + 1 ' + 1?

Wenn ich + 1 weglasse ist die file.xxx leer, sie wird zwar angelegt, aber sie ist leer.
Mit +1 bekommt ich zwar nen Fehler ....außerhalb des Arrays blabla....., aber die Datei wird befüllt!? Warum?

Mein zweites Problem:
Ich versuche eine 60kb große Datei zu verschicken, aber nur 40kb kommen an?

Die Datei einlesen, klappt! Schreib ich den Stream bei mir Lokal auf die Platte, so hab
ich danach eine Ausführbare exe in form von c:\file.xxx -> c:\file.exe


So, das war's erstmal, ich hoffe mir kann da jemand helfen :)

Ciao,
Ben
 

Neue Beiträge

Zurück