首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java HTTP Post原始数据

Java HTTP Post原始数据
EN

Stack Overflow用户
提问于 2010-08-05 09:18:01
回答 2查看 4.8K关注 0票数 2

根据我已有的原始数据,我希望发出一个HTTP post请求。我花了一段时间寻找解决方案,做了几次尝试,我正在寻求一点帮助。我要做的PHP代码如下所示:

代码语言:javascript
复制
<?
$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);
?>

我的尝试是这样的:

代码语言:javascript
复制
  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,但这只是一个不包含任何数据的post。有没有人看到我做错了什么?我想弄清楚如何改变这个方法,使它真正工作。谢谢!

-Ken

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-05 09:25:37

java.net.URLConnection类不是工作得更好吗?

票数 4
EN

Stack Overflow用户

发布于 2010-08-05 09:58:02

看起来你不像是在打电话:

代码语言:javascript
复制
    int result = httpclient.executeMethod(postMethod);  
    postMethod.releaseConnection();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3411093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档