java 中HttpClient传输xml字符串实例详解
发布时间 - 2026-01-11 00:43:05 点击率:次java 中HttpClient传输xml字符串实例详解

介绍:我现在有一个对象page,需要将page对象转换为xml格式并以binary方式传输到服务端
其中涉及到的技术点有:
1、对象转xml流
2、输出流转输入流
3、httpClient发送二进制流数据
POM文件依赖配置
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.xwiki.platform</groupId>
<artifactId>xwiki-platform-rest-model</artifactId>
<version>7.2</version>
</dependency>
</dependencies>
java代码示例
public void testNewPage() throws Exception{
//定义对象
Page page =new Page();
page.setTitle("testPage");
page.setSyntax("xwiki/2.0");
page.setContent("This is a testPage");
page.setId("xwiki:Main.testPage");
//初始化并转换对象为xml文件的流
JAXBContext context = JAXBContext.newInstance("org.xwiki.rest.model.jaxb");
Marshaller marshaller=context.createMarshaller();
Unmarshaller unmarshaller = context.createUnmarshaller();
ByteArrayOutputStream out = new ByteArrayOutputStream();
marshaller.marshal( page, out );
//将流转换并放入到InputStreamEntity中
InputStreamEntity inputStreamEntity=new InputStreamEntity(new ByteArrayInputStream(out.toByteArray()));
//发送请求
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpUriRequest httpPost = RequestBuilder.put()
.setUri(new URI("http://172.16.200.220:8082/xwiki/rest/wikis/xwiki/spaces/Main/pages/testPage"))
.setEntity(inputStreamEntity)
.setHeader("Content-Type", "application/xml")
.setHeader("Cookie", cookieStr).build();
//获取返回结果
CloseableHttpResponse response = httpclient.execute(httpPost);
System.out.println(response.getStatusLine().getStatusCode());
HttpEntity responseEntity=response.getEntity();
System.out.println(responseEntity);
if(response.getStatusLine().getStatusCode()<400){
Page responsePage = (Page) unmarshaller.unmarshal(responseEntity.getContent());
System.out.println(responsePage);
// System.out.println(new Gson().toJson(responsePage));
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# HttpClient传输xml
# java
# HttpClient
# 中HttpClient传输xml字符串
# Java commons-httpclient如果实现get及post请求
# java爬虫之使用HttpClient模拟浏览器发送请求方法详解
# java httpclient设置超时时间和代理的方法
# 如何使用HttpClient发送java对象到服务器
# Java11新特性之HttpClient小试牛刀
# java使用common-httpclient包实现post请求方法示例
# JAVA通过HttpClient发送HTTP请求的方法示例
# JAVA利用HttpClient进行HTTPS接口调用的方法
# java web中 HttpClient模拟浏览器登录后发起请求
# Java爬虫Jsoup+httpclient获取动态生成的数据
# Java httpClient介绍以及使用示例
# 我现在
# 希望能
# 并以
# 涉及到
# 谢谢大家
# 转换为
# 服务端
# 有一个
# google
# code
# gson
# type
# apache
# httpmime
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
EditPlus中的正则表达式实战(6)
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
进行网站优化必须要坚持的四大原则
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
Python图片处理进阶教程_Pillow滤镜与图像增强
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
网站页面设计需要考虑到这些问题
深圳网站制作培训,深圳哪些招聘网站比较好?
JavaScript实现Fly Bird小游戏
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
如何为不同团队 ID 动态生成多个独立按钮
iOS中将个别页面强制横屏其他页面竖屏
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
如何快速查询域名建站关键信息?
5种Android数据存储方式汇总
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何在IIS中新建站点并配置端口与物理路径?
详解Android中Activity的四大启动模式实验简述
如何在IIS中配置站点IP、端口及主机头?
晋江文学城电脑版官网 晋江文学城网页版直接进入
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何将凡科建站内容保存为本地文件?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何为API编写文档_Laravel API文档生成与维护方法
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何为不同团队 ID 动态生成多个非值班状态按钮
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
如何登录建站主机?访问步骤全解析
网站优化排名时,需要考虑哪些问题呢?
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何挑选优质建站一级代理提升网站排名?
香港服务器租用每月最低只需15元?
如何解决hover在ie6中的兼容性问题
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
高防服务器租用如何选择配置与防御等级?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
微信小程序 五星评分(包括半颗星评分)实例代码
如何用5美元大硬盘VPS安全高效搭建个人网站?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Bootstrap整体框架之JavaScript插件架构

