Problem mit HTTP-Header

Jo - ich bin’s mal wieder! :slight_smile:

Ich möchte über Java ein HTTP Post multipart-/form-data Request an einen Server senden. Dazu verwende ich ein normales HTML-Formular im Firefox-Browser mit dem LiveHTTPHeaders-Tool.

Ich bin schonmal soweit gekommen dass mir der Server die gewünschte Seite liefert. Aber das dort integrierte Test-Php-Script erhält anscheinend keine der von mir gesendeten Parameter. :frowning:

Hier zunächst einmal der Header, welchen das Java-Programm sendet:


POST /test/filetest.php HTTP/1.1
Host: www.test.de
User-Agent: JAVA REQUEST Class 1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
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
Content-Type: multipart/form-data; boundary=---------------------------1il3vu0uppmbf-1ibyz8f027hby-ktwub8vivc5k
Connection: close

---------------------------1il3vu0uppmbf-1ibyz8f027hby-ktwub8vivc5k
Content-Disposition: form-data; name="test"

test
---------------------------1il3vu0uppmbf-1ibyz8f027hby-ktwub8vivc5k
Content-Disposition: form-data; name="test2"

test2
---------------------------1il3vu0uppmbf-1ibyz8f027hby-ktwub8vivc5k--


Was ist falsch an diesem Header?
Warum kriegt der Server keine POST-Parameter, obwohl ich 2 Felder im Header angebe.

Ich danke euch für eure Hilfe und Unterstützung!
Mit freundlichen Grüßen!
Euer
Innocentus

hast du es mal ohne die boundary probiert?
Oder nimm mal ein einfaches Formular und schick es mitm Browser ab und schneide das mit, vielleicht siehst du da was

Hallo,

grundsätzlich werden Post-Parameter nicht im Nachrichtenkopf ( header ) übertragen, sondern im Nachrichtenkörper ( body ). Offensichtlich möchtest Du einen “Request” auf der Serverseite mit php bearbeiten.

Versuche doch mal folgenden Ausdruck:

foreach( $_POST as $key => $element ) {
    echo $key." - ".$element;
}

Da müssten die Daten enthalten sein. Du kannst auch $_REQUEST benutzen, dann bekommst Du $_GET, $_POST und $_COOKIE Daten aufgelistet.

Grüße,

IO

Geht es hier um JSP/Servlets?

Wenn nicht, dann:
Früher habe ich auch versucht, HTTP-Request mit Java mir selber zusammenzubasteln. Da ich mittlerweile sehr viel mit HTTP-Request arbeite, benutze ich den Jakarta HTTPClient.
Ich habe vor ein paar Jahren ein Tutorial in der Wiki zum Jakarta HttpClient angefangen. Allerdings habe ich als Beispiel für das ganze Zeug ein kleines Upload-Programm zum Sharehoster Abload.de im Tutorial genommen, was allerdings nicht mehr up to date ist und nicht mehr funktionieren wird.

Gruß,
pcworld