-
HttpClient向服务端Post xml字符串5
要实现一个客户端向服务端post 一端xml数据的功能,
我就是想传一字符串xml给服务端.
客户端用Apache的HttpClient,大致代码如下
public class Test { public static void main(String[] args) throws IOException { String data = "<root><header><type>fetch</type></header><content><program>test</program></content></root>"; 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(); } }
因为post.setRequestBody已经废弃,所以用了post.setRequestEntity().
服务端用request.getParameter("program");
取参数,得到null;
谁给指点一下为什么取不到值,或者怎么样可以post xml字符串
问题补充:
能否讲具体一点
问题补充:
1.我想直接Post整个xml 字符串过去.
然后服务端取xml中的参数,现在这样却取不到,我想知道为什么.
还有,不用NameValuePair不行嘛
2.我用PostMethod.setRequestBody(),它却提示"The method setRequestBody(String) from the type EntityEnclosingMethod is
deprecated",不解
问题补充:
有点郁闷,这个问题搞了好几个小时了,就想不通,
以字符串形式发送XML是最常见的方式,
服务端request.getParameter()也是最普通的方式.
发送Xml字符串,那服务端用request.getParameter还取不到了,非得用他设计的NameValuePair不行? 或者服务端就要改代码?
开源项目不是给人提供方便吗,非要让人用的这么别扭2009年1月15日 14:15
5个答案 按时间排序 按投票排序
-
采纳的答案
NameValuePair. 这个才是Post处理的名称/数值; 提交到后台的;
如果用你说的
或许这样可以;我没试验过.
data = "program="+data; RequestEntity entity = new StringRequestEntity(data, "text/xml", "iso-8859-1"); post.setRequestEntity(entity);
2009年1月15日 15:35
-
我也很关注,继续等待;
结合实例:
比如说获取163邮箱的通讯列表,登录后,最后一步,应该是POST一個
<?xml version=\"1.0\"?><object><array name=\"items\"><object><string name=\"func\">pab:searchContacts</string><object name=\"var\"><array name=\"order\"><object><string name=\"field\">FN</string><boolean name=\"ignoreCase\">true</boolean></object></array></object></object><object><string name=\"func\">user:getSignatures</string></object><object><string name=\"func\">pab:getAllGroups</string></object></array></object>
的字符串!2009年1月15日 16:37
-
EntityEnclosingMethod
的
setRequestBody(String body)
Deprecared了.但PostMethod并没有.2009年1月15日 15:02
-
如果你想在某个字段中传递XML字符串;
你上面的代码要修改成:
NameValuePair[] data = { new NameValuePair("program", data), }; postMethod.setRequestBody(data);
如果是整个提交XML访问的话,类似你的方式就可以了.2009年1月15日 15:00
相关推荐
主要介绍了java 中HttpClient传输xml字符串实例详解的相关资料,需要的朋友可以参考下
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
采用httpclient发送xml报文,httpServer接收报文。两个程序一看就明白可以直接调用执行不在多说。
try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...
java实现http接口服务端、客户端代码例子。使用jar(commons-codec-1.3.jar、commons-httpclient-3.0.1.jar、commons-logging-1.1.1.jar)
jsp 中HttpClient中的POST方法实例详解.docx
其中包含项目post-demo定义接口;包含另一个项目httpclient-demo使用工具类发送post请求调用接口。详细内容查看博客 httpclient发送post请求
httpclient get/post请求工具类(map参数封装),方便调用
android通过get方式提交数据到web应用,web应用将xml数据返回得android客户端
利用c# httpclient ,post json数据到web api
HttpClient实现POST GET和文件下载 HttpClient实现POST GET和文件下载
httpclient.jar包及其POST方法使用例子
NULL 博文链接:https://zhcheng.iteye.com/blog/1292350
httpclient post方式发送json格式数据,需要的相关包。
(完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc
httpclient的用法,发送get请求和post请求,设置header
ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据。 完整的KTR实例
httpClient post 上传图片 下载下来 修改下 上传和下载的uri
http请求工具类HttpClientUtil,get,post请求(csdn)————程序