Content-Type-header für POST-Requests
Habe ich in Java (ähnlich wie in anderen Sprachen, problem sollte sprachunabhängig) eine POST-Anforderung ich bin an den server senden. Die POST-Anforderung enthält nur einige POST-Parameter, die keinen Körper.
Ich haben im Grunde diese:
postData = URLEncoder.encode("user", "UTF-8") + "=" + URLEncoder.encode("jackychan", "UTF-8");
//HttpSessionToken.setRequestProperty("Content-Type", "application/xml");
OutputStream postContent = (OutputStream)HttpSessionToken.getOutputStream();
postContent.write(postData.getBytes("UTF-8"));
Diese funktioniert einwandfrei. Die Frage ist, um die zweite Zeile, ein Kommentar im moment. Einkommentieren dieser Zeile Ruinen meinem code, okay meine Daten nicht in XML, so kann ich dies verstehen. Einige REST-Dienste, die Sie POSTEN, um ein ganzes XML-Dokument, aber keine POST-Parameter, so etwas wie dieses
postData = "<xml> whatever xml structure here </xml>"
HttpSessionToken.setRequestProperty("Content-Type", "application/xml");
OutputStream postContent = (OutputStream)HttpSessionToken.getOutputStream();
postContent.write(postData.getBytes("UTF-8"));
Diese funktioniert auch. Der Unterschied ist die post-Daten wird jetzt eine XML-und der content-type gesetzt ist.
Die Frage ist nun, was passiert, wenn ein Dienst erfordert, POST-Parameter wie in Beispiel 1 UND eine xml-Körper wie in Beispiel 2. Wie kann ich dies tun? Wenn das nie passiert, warum ist es nicht geschehen?
Dank, A.
InformationsquelleAutor AndyAndroid | 2011-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie tun, dass Sie als multipart/form-Daten, so können Sie gemischten Inhalt in einem POST Körper. Es ist ähnlich wie multipart-mime, und jeder Teil kann seine eigenen content-type. Hier ist eine Vorherige stackoverflow-Antwort für multipart-form-data in Java: Wie kann ich eine " multipart/form-data-POST-request mit Java?
InformationsquelleAutor Jon Lin