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 】
相关推荐:
佛山网站制作系统,佛山企业变更地址网上办理步骤?
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
php485函数参数是什么意思_php485各参数详细说明【介绍】
如何快速搭建二级域名独立网站?
高端企业智能建站程序:SEO优化与响应式模板定制开发
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
创业网站制作流程,创业网站可靠吗?
黑客如何通过漏洞一步步攻陷网站服务器?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Python文件操作最佳实践_稳定性说明【指导】
Laravel如何记录自定义日志?(Log频道配置)
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
昵图网官方站入口 昵图网素材图库官网入口
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何快速搭建高效可靠的建站解决方案?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
Laravel如何实现模型的全局作用域?(Global Scope示例)
使用C语言编写圣诞表白程序
如何快速建站并高效导出源代码?
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
高防服务器租用如何选择配置与防御等级?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
浅析上传头像示例及其注意事项
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
如何在阿里云域名上完成建站全流程?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何破解联通资金短缺导致的基站建设难题?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Android滚轮选择时间控件使用详解
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
免费视频制作网站,更新又快又好的免费电影网站?
Laravel如何使用Gate和Policy进行授权?(权限控制)
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
焦点电影公司作品,电影焦点结局是什么?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
Laravel如何处理CORS跨域请求?(配置示例)
如何在IIS中配置站点IP、端口及主机头?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
香港服务器如何优化才能显著提升网站加载速度?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
如何注册花生壳免费域名并搭建个人网站?
b2c电商网站制作流程,b2c水平综合的电商平台?
如何用腾讯建站主机快速创建免费网站?

