java通过HttpClient调用接口总结
2.HttpClient
2.1简介:
最近看项目的代码,看到工程中有两个jar包张的很像,一个是commons.httpclient-3.1.jar,一个是httpclient4.2.1.jar,很纳闷,而且这两个包里都有HttpClient这个类,但是包名却不一样,然后就查找了一番资料,看下这两个包到底是个什么关系。
commons.httpclient-3.1.jar这个jar包是依赖了httpcore,commons-logging,commons-codec这三个jar包。而在commons-httpclient.jar包在使用过程中,需要依赖commons-logging.jar和commons-codec.jar,这个httpclient4.2.1.jar就相当于集合了以前的commons-httpclient,commons-logging,commons-codec,这三个jar包,减少了繁琐的导入jar包的过程,现在只需导入一个httpclient.jar就可以使用了。
除此以外,在apache的官网上下载httpclient的jar包时,会发现它是在一个叫HttpComponent的项目下,这个HttpComponent是apache的顶级项目。而以前的commons的那三个包都是commons的项目下。在HttpComponent的网页上,看到了这样的文字: HttpComponents Client is a successor of and replacement for Commons HttpClient 3.x. Users of Commons HttpClient are strongly encouraged to upgrade.
也就是说commons下的commons-httpclient不在更新和维护了,用commons-httpclient的用户也建议更新到httpclient这个包。
HttpClient httpClient = new HttpClient();
httpClient.getHostConfiguration().setProxy("10.91.237.89", 3128);
GetMethod getMethod = new GetMethod(saleUserInfoURL + saleToken);
getMethod.getParams().setParameter("http.protocol.cookie-policy", CookiePolicy.BROWSER_COMPATIBILITY);
getMethod .addRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36");
int httpStatus = httpClient.executeMethod(getMethod);
if (HttpStatus.SC_OK == httpStatus) {
byte[] result = getMethod.getResponseBody();
buffer.append(new String(result));
if (StringUtils.isNotEmpty(buffer.toString())) {
Map<String, Object> result2 = JSONObject.parseObject(buffer.toString(), Map.class);
return result2;
}
}
2.2 GET方式调用
2.3 POST方式调用
最新文章
- Java 内部类的阐述
- Window.Open详解
- html大牛属性
- oracle语句随笔
- android studio1.0 for Mac环境搭建与demo运行(手动下载gradle,科学上google) 转载
- 万能js实现翻页,动态生成内容自动翻页,兼容各种浏览器(已测试)----神器版!
- Redis主从同步介绍
- Static vs Dynamic Scope
- CSS强制英文换行
- JAVA模拟各种请求方式访问RESTFUL
- IE 弹出框处理经验
- asp.net mvc上传图片案例
- [UIKit学习]02.关于UIButton
- 微信小程序之获取验证码js
- PHP实现微信模板消息发送给指定用户
- mysql 5.7 版本的安装
- PyCharm的模板设置
- 如何扩展Linux虚拟内存文件系统
- RabbitMQ之Exchange-4
- angular ng-bind-html $sce.trustAsHtml
热门文章
- Tippy.js - 免费开源且高度可定制的气泡提示独立组件
- 性能测试工具locust简单应用
- Java多线程基础知识笔记(持续更新)
- 基于循环队列的BFS的原理及实现
- ES入门及安装软件
- ADB 基本命令
- 配置MySQL主从复制报错Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work
- Git:.gitignore和.gitkeep文件的使用 让空文件夹被跟踪
- 使用 Tye 辅助开发 k8s 应用竟如此简单(一)
- GIS基本概念,空间分析