rusong110 2009-01-15 14:15
浏览 168
已采纳

HttpClient向服务端Post xml字符串

要实现一个客户端向服务端post 一端xml数据的功能,

我就是想传一字符串xml给服务端.

客户端用Apache的HttpClient,大致代码如下

[code="java"]public class Test {
public static void main(String[] args) throws IOException {

String data = " fetch test";
String url = "http://localhost:8080/fetch";

HttpClient httpclient = new HttpClient();
PostMethod post = new PostMethod(url);
String info = null;
try {
RequestEntity entity = new StringRequestEntity(data, "text/xml",
"iso-8859-1");
post.setRequestEntity(entity);
httpclient.executeMethod(post);
int code = post.getStatusCode();
if (code == HttpStatus.SC_OK)
info = new String(post.getResponseBodyAsString());
} catch (Exception ex) {
ex.printStackTrace();
} finally {
post.releaseConnection();
}
}[/code]
因为post.setRequestBody已经废弃,所以用了post.setRequestEntity().

服务端用request.getParameter("program");
取参数,得到null;

谁给指点一下为什么取不到值,或者怎么样可以post xml字符串

[b]问题补充:[/b]
能否讲具体一点
[b]问题补充:[/b]
1.我想直接Post整个xml 字符串过去.
然后服务端取xml中的参数,现在这样却取不到,我想知道为什么.
还有,不用NameValuePair不行嘛

2.我用PostMethod.setRequestBody(),它却提示"The method setRequestBody(String) from the type EntityEnclosingMethod is
deprecated",不解
[b]问题补充:[/b]
有点郁闷,这个问题搞了好几个小时了,就想不通,
以字符串形式发送XML是最常见的方式,
服务端request.getParameter()也是最普通的方式.

发送Xml字符串,那服务端用request.getParameter还取不到了,非得用他设计的NameValuePair不行? 或者服务端就要改代码?

开源项目不是给人提供方便吗,非要让人用的这么别扭

  • 写回答

5条回答 默认 最新

  • bohemia 2009-01-15 15:35
    关注

    NameValuePair. 这个才是Post处理的名称/数值; 提交到后台的;

    如果用你说的
    或许这样可以;我没试验过.

    [code="java"]data = "program="+data;
    RequestEntity entity = new StringRequestEntity(data, "text/xml", "iso-8859-1");

    post.setRequestEntity(entity); [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?