# Multi-Part Form-Daten mit HttpURLConnection



## Einwegdose (7. Jul 2006)

Hallo   

Ich hänge gerade bei einer Sache, die sicherlich schon einige andere hier beschäftigt hat (hab natürlich auch die Suche benutzt  :applaus:, bin aber immer noch nicht schlau aus der Sache geworden.

Prinzipiell sollen Informationen über den Header mitgegeben werden, die normalerweise in das Formular eingegeben werden. Soweit ich das verstanden hab, muss man mit der HttpURLConnection den Request auf POST umstellen, also
HttpURLConnection#setRequestMethod("POST"), und kann dann mit HttpURLConnection#setRequestProperty einzelne Property-Zeilen einfügen.

Nun stellt sich bei mir das Problem dass der Header, ähnlich wie bei einer Multipart-eMail, mit Hilfe von Boundaries aufgeteilt ist, und daher, soweit ich das erkenne, nicht mehr ins Format setRequestProperty(String key, String value) passt. Kann mir daher jmd sagen, wie ich mit HttpURLConnection folgenden Header schicken könnte ?:

Hier ein bzw. der entscheidende Ausschnitt des Headers:



> Content-Type: multipart/form-data; boundary=---------------------------41184676334
> Content-Length: 176536
> -----------------------------41184676334
> Content-Disposition: form-data; name="mirror"
> ...




Danke schonmal im Vorraus


----------



## Einwegdose (8. Jul 2006)

Hat echt keiner dazu ne Idee ? 
Die einzig andere Möglichkeit die ich kenne wäre einfach einen Socket und alles manuell über die Input/Output-Streams zu regeln. Allerdings dachte ich, wenn es doch schon die URL- und die HttpURLConnection-Klasse gibt, könnte die ja etwas Arbeit abnehmen. 
Ich weiss leider nur nicht wie...


----------



## foobar (8. Jul 2006)

Alternativ könntest du auch den hier verwenden:
http://jakarta.apache.org/commons/httpclient/


----------



## Einwegdose (8. Jul 2006)

Das habe ich mir auch schon angeschaut, nur leider gehört das ja nicht zur Standardausrüstung. Außerdem weiss ich garnicht, ob es damit geht ...
Wenn man die entsprechendes packages mit Verteilen könnte, ohne das jeder Anwender das extra installieren müsste, wäre es eine Überlegung wert, aber lieber hätte ich es mit der Standard-API gemacht, was ja aber wohl nicht möglich ist


----------



## foobar (8. Jul 2006)

Deswegen gibt es ja Installer.
http://www.izforge.com/izpack/


----------



## Einwegdose (8. Jul 2006)

Nach langer rumprobiererei werde ich wohl mir doch mal den HTTPClienten von Jakarta anschauen 

Könnte mir nun aber jemand sagen, wie ich das bei mir einbinde ? 
Ich habe auf der Jakarta-Seite, hier und bei Google nichts gefunden  (und dabei bin ich ein guter Finder )

Hab jetzt die ZIP mit der Doku und der jar drin ... thx schonmal


----------



## foobar (8. Jul 2006)

Das Jar muß im Classpath sein. Such mal nach Jar und Classpath, da wirste einiges finden.


----------

