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方式调用

最新文章

  1. Java 内部类的阐述
  2. Window.Open详解
  3. html大牛属性
  4. oracle语句随笔
  5. android studio1.0 for Mac环境搭建与demo运行(手动下载gradle,科学上google) 转载
  6. 万能js实现翻页,动态生成内容自动翻页,兼容各种浏览器(已测试)----神器版!
  7. Redis主从同步介绍
  8. Static vs Dynamic Scope
  9. CSS强制英文换行
  10. JAVA模拟各种请求方式访问RESTFUL
  11. IE 弹出框处理经验
  12. asp.net mvc上传图片案例
  13. [UIKit学习]02.关于UIButton
  14. 微信小程序之获取验证码js
  15. PHP实现微信模板消息发送给指定用户
  16. mysql 5.7 版本的安装
  17. PyCharm的模板设置
  18. 如何扩展Linux虚拟内存文件系统
  19. RabbitMQ之Exchange-4
  20. angular ng-bind-html $sce.trustAsHtml

热门文章

  1. Tippy.js - 免费开源且高度可定制的气泡提示独立组件
  2. 性能测试工具locust简单应用
  3. Java多线程基础知识笔记(持续更新)
  4. 基于循环队列的BFS的原理及实现
  5. ES入门及安装软件
  6. ADB 基本命令
  7. 配置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
  8. Git:.gitignore和.gitkeep文件的使用 让空文件夹被跟踪
  9. 使用 Tye 辅助开发 k8s 应用竟如此简单(一)
  10. GIS基本概念,空间分析