2
我正在尋找一個HTTP發佈請求,因爲我有原始數據。我花了一段時間尋找解決方案,做了一些嘗試,我正在尋找一些幫助。對於我在尋找什麼做的PHP代碼如下所示:Java HTTP Post原始數據
<?
$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);
?>
我的嘗試是這樣的:
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;
}
,然後執行的PostMethod,但是這僅僅是不包含任何數據後。有人看到我在做什麼錯嗎?我想弄清楚如何改變這個方法來使它實際工作。謝謝!
-Ken
這工作就像一個魅力。正是我在找什麼。非常感謝! – 2010-08-05 15:09:58
我很高興它有幫助。那麼爲什麼不把它投票呢? – duffymo 2010-08-05 15:37:56
我嘗試過,但我沒有聲望。抱歉。 – 2010-08-05 15:56:49