Java HTTP Post Rohdaten
-
25-09-2019 - |
Frage
Ich suche eine HTTP-Post-Anforderung angesichts den Rohdaten zu machen, dass ich habe. Ich habe ein verbrauchtes, während für die Lösung suchen, eine Handvoll Versuche gemacht, und ich bin für ein wenig Hilfe suchen. Der PHP-Code für das, was ich bin auf der Suche sieht aus wie dies zu tun:
<?
$url="http://localhost:3000";
$postdata="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<hi></hi>";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
curl_close($ch);
echo($result);
?>
Mein Versuch war:
private String setXmlPostHeader(Document doc, PostMethod postMethod) throws java.io.IOException, java.io.UnsupportedEncodingException,
javax.xml.transform.TransformerException
{
ByteArrayOutputStream xmlBytes = new ByteArrayOutputStream();
XML.serialize( doc, xmlBytes );
final byte[] ba = xmlBytes.toByteArray();
String data = new String(ba, "utf-8");
InputStreamRequestEntity re = new InputStreamRequestEntity(new ByteArrayInputStream(ba));
postMethod.setRequestEntity(re);
postMethod.setRequestHeader("Content-type", MediaType.XML.toString() + "; charset=UTF-8");
return data;
}
Und dann die postMethod Ausführung, aber das ist einfach ein Post keine Daten enthalten. Hat jemand etwas falsch sehen, dass ich tue? Ich möchte herausfinden, wie diese Methode zu ändern, es tatsächlich funktioniert. Dank!
-Ken
Lösung
wäre nicht das java.net.URLConnection
Klasse besser funktionieren?
Andere Tipps
Es sieht nicht so aus, wie Sie anrufen:
int result = httpclient.executeMethod(postMethod);
postMethod.releaseConnection();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow