Multi-Part Form-Daten mit HttpURLConnection

Status
Nicht offen für weitere Antworten.

Einwegdose

Aktives Mitglied
Hallo :D

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"

on
-----------------------------41184676334
Content-Disposition: form-data; name="german"

1
-----------------------------41184676334
Content-Disposition: form-data; name="filecontent"; filename="neExeDatei.exe"
Content-Type: application/x-msdos-program


Danke schonmal im Vorraus :)
 

Einwegdose

Aktives Mitglied
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...
 

Einwegdose

Aktives Mitglied
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 :(
 

Einwegdose

Aktives Mitglied
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 o_O (und dabei bin ich ein guter Finder :p)

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

foobar

Top Contributor
Das Jar muß im Classpath sein. Such mal nach Jar und Classpath, da wirste einiges finden.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben